Systems, methods, and user interfaces for storing, searching, navigating, and retrieving electronic information

ABSTRACT

Computer system navigation tools provide “links” to various different files, lists, folders, and/or other storage elements and allow users to organize files, e.g., by hierarchical properties, lists, auto lists, folders, and the like. Such systems and methods allow users to assign properties to a file (optionally in a hierarchical manner), to change assigned properties, to search, view, and retrieve information based on the assigned properties, and the like.

FIELD OF THE INVENTION

The present invention generally relates to systems, methods, andcomputer-readable media with computer-executable instructions storedthereon for storing, searching, navigating, and retrieving electronicdata and other information on a computer system or network, as well asto aspects of user interfaces associated with these functions andavailable for performing these functions.

BACKGROUND

Tremendous volumes of information are stored on and/or available throughcomputer systems and networks, and this information can be madeavailable to computer users for a variety of different purposes.Although computers can provide this wealth of information to users, theinformation is only valuable and useful to users if users can reliablylocate and retrieve the desired information from the system or network.The stored information is of little or no value to users if it cannot bereadily located and/or retrieved without substantial searching time,effort, and/or frustration.

SUMMARY

Aspects of the present invention relate to systems, methods, and userinterfaces that provide navigational tools for storage systems ofcomputers, their operating systems, networks, and the like. Inaccordance with at least some examples of this invention, navigationtools and/or their corresponding user interfaces and displays may beprovided in multiple different windows, application programs, and thelike. In at least some examples of this invention, navigation tools orand/or their corresponding user interfaces and display panel(s) mayinclude windows or panes that include “links” to various differentfiles, lists, folders, pages, and/or other storage elements. If desired,navigational tools in accordance with at least some aspects of thisinvention may be customized for different application programs, forportions of applications programs, for portions of operating systems, bydifferent users, and the like (e.g., by independent software providersfrom those providing the computer operating system) to be better suitedor targeted for navigating information relating to that set of files,etc., and/or to that user. The navigational tools in accordance with atleast some examples of this invention also may provide useful ways oforganizing and/or displaying information regarding the user's files,e.g., by hierarchical properties, lists, auto lists, folders, etc.Systems and methods according to at least some examples of the inventionalso may make it easy for users to assign properties to files, changeassigned properties associated with files, and the like, optionally withthe use of hierarchical properties. Additionally, in accordance with atleast some examples of the invention, navigational tools may be providedfor searching, locating, and viewing information relating to stored oraccessible files, e.g., in a query-based file and/or retrieval system.

Additional aspects of the invention relate to computer-readable mediaincluding computer-executable instructions stored thereon for performingvarious methods and/or operating various systems, including systems andmethods having navigational tools for organizing, searching, locating,and/or displaying information relating to files located in a computerstorage system and/or accessible through a computer system as describedabove (and as will be described in more detail below).

BRIEF DESCRIPTION OF THE DRAWINGS

Various objects, features, and advantages of the present invention willbe more readily apparent and more fully understood from the followingdetailed description, taken in connection with the appended drawings, inwhich:

FIG. 1 illustrates a schematic diagram of a general-purpose digitalcomputing environment in which certain aspects of the present inventionmay be implemented;

FIGS. 2A and 2B illustrate examples of permitted and non-permittedhierarchical property paths, respectively, in accordance with at leastsome examples of the invention;

FIG. 3 illustrates an example of a user interface for saving a new item(e.g., a file) with associated hierarchical properties in accordancewith examples of this invention;

FIG. 4 illustrates an example “preview panel” that includes informationrelating to a stored item (e.g., a digital picture file) in accordancewith examples of this invention;

FIG. 5 illustrates an example of changing a hierarchical arrangement ofhierarchical properties in accordance with an example of this invention;

FIG. 6 illustrates an example user interface with a navigation panel inaccordance with some examples of this invention;

FIGS. 7A and 7B are diagrams that illustrate examples of differentscopes that may be used during navigation and display operations inaccordance with examples of this invention;

FIGS. 8 through 18 illustrate examples of user interfaces, displays, andoperations during multiple property or other information selections innavigation and display operations in accordance with examples of thisinvention; and

FIGS. 19 through 26 illustrate examples of user interfaces, displays,and operations during grouping, stacking, and filtering of items (e.g.,electronic files) in navigation and display operations in accordancewith examples of this invention.

DETAILED DESCRIPTION

As described above, aspects of the present invention relate to systems,methods, and computer-readable media for storing, searching, navigating,and/or retrieving electronic information in and available throughcomputing systems and/or networks. The following description is dividedinto sub-sections to assist the reader. The sub-sections include: Terms;General Description of Various Aspects of the Invention; ExampleHardware; Example Systems, Methods, and Computer-Readable MediaAccording to the Invention; and Conclusion.

I. Terms

The following terms may be used in this specification and, unlessotherwise specified or clear from the context, the terms have themeanings provided below:

“Hierarchical Property”—A type of property whose value may include anordered collection of categorizing unique strings. Each string may bemade unique, for example, by the path through which it is specified, andthis path also may be used to define the categories to which eachproperty value belongs.

“Parent Property Value”—A property value that has one or more possiblechildren property values.

“Child Property Value”—A property value that is a child of anotherproperty value.

“Auto lists”—Lists of files or other data resulting from queries forinformation over a fixed scope matching a pre-selected set of filterconditions. Examples of “auto lists” include, but are not limited to:file creation dates, file creation time, last edit date, last edit time,file rating data, file author list, last use=yesterday, last use=lastweek, etc. A “navigation panel,” as described below, may include one ormore “auto lists.”

“Lists”—Shortcuts or “links” to auto lists, files, file collections,folders, and the like. A “navigation panel,” as described below, mayinclude one or more “Lists.”

“Page”—A specific folder, list, auto list, or the like. A “page” mayconstitute a node in a hierarchical table to which users can navigate,e.g., by selecting items from a menu, from the navigational toolaccording to aspects of the invention, etc. Individual “pages” orlistings of “pages” at various levels in a storage system and/oravailable through a computer system or network may appear in anavigation panel and/or a display panel, as described in more detailbelow.

“Computer-Readable Medium”—any available media that can be accessed by auser on a computer system. By way of example, and not limitation,“computer-readable media” may include computer storage media andcommunication media. “Computer storage media” includes volatile andnonvolatile, removable and non-removable media implemented in any methodor technology for storage of information, such as computer-readableinstructions, data structures, program modules or other data. “Computerstorage media” includes, but is not limited to, RAM, ROM, EEPROM, flashmemory or other memory technology; CD-ROM, digital versatile disks (DVD)or other optical storage devices; magnetic cassettes, magnetic tape,magnetic disk storage or other magnetic storage devices; or any othermedium that can be used to store the desired information and that can beaccessed by a computer. “Communication media” typically embodiescomputer-readable instructions, data structures, program modules orother data in a modulated data signal, such as a carrier wave or othertransport mechanism, and includes any information delivery media. Theterm “modulated data signal” means a signal that has one or more of itscharacteristics set or changed in such a manner as to encode informationin the signal. By way of example, and not limitation, communicationmedia includes wired media, such as a wired network or direct-wiredconnection, and wireless media, such as acoustic, RF, infrared and otherwireless media. Combinations of any of the above should also be includedwithin the scope of “computer-readable media.”

II. General Description of Various Aspects of the Invention

A. Storing Properties in a Hierarchical Relationship

Aspects of the present invention relate to computer-readable mediahaving data structures stored thereon. The data structure in accordancewith at least some examples of this invention may include: (a) a firstdata set containing at least some of content of an electronic file; and(b) a second data set containing property data associated with theelectronic file. This second data set may include a first flat pathstring indicating a first property associated with the electronic file,wherein the first flat path string indicates a hierarchical structure ofthe property data. Optionally, if desired, the second data set mayinclude multiple flat path strings of data indicating multipleproperties associated with the electronic file, e.g., in a hierarchicalstructure. The second data set may be provided in any desired manner,for example, as metadata included in and/or associated with the firstdata set. Of course, if desired, a third data set (or even more datasets) containing additional property data may be included in and/orassociated with the electronic file, wherein the third data set (oradditional data sets) includes another flat path string indicatinganother property associated with the electronic file, and wherein theadditional flat path string indicates a hierarchical structure of theproperty data in the third (or additional) data set.

Additional example aspects of this invention relate to systems andmethods for storing electronic data including hierarchical propertyinformation. Such systems and methods may include: (a) creating anelectronic file including electronic data for storage on acomputer-readable medium (e.g., using one or more computer processingsystems); (b) receiving input data indicating a first property value tobe included as part of the electronic file or associated with theelectronic file (e.g., via a mouse, pen, digitizer, keyboard, networkconnection, disk drive, etc.), wherein the first property value includesa first data set including a first flat path string indicating the firstproperty value, and wherein the first flat path string indicates ahierarchical structure of the first property value; and (c) storing theelectronic file with the first flat path string included therein orassociated therewith (e.g., in an electronic memory device), wherein thefirst flat path string is stored or associated with the electronic filein any desired manner, e.g., through linking information, as part of thefile, as metadata, etc. Optionally, systems and methods in accordancewith at least some examples of this invention further may receive inputdata indicating a second property value to be included as part of theelectronic file or associated with the electronic file, wherein thesecond property value includes a second data set including a second flatpath string indicating the second property value, wherein the secondflat path string indicates a hierarchical structure of the secondproperty value, and wherein the storing of the electronic file includesstoring the electronic file with the second flat path string includedtherein or associated therewith. Any number of property values may bestored in and/or associated with an electronic file in this manner inaccordance with the invention.

Still additional example aspects of this invention relate to systems andmethod for processing electronic data that includes hierarchicalproperty information associated with it. Systems and methods accordingto at least some examples of this invention may include: (a) receivingdata on a computer system or network (e.g., into the computer system'sor network's memory) indicating a hierarchical structure of pluraldefined property values, wherein each defined property value has anunique flat path data string associated with it as compared with allother defined property values in the hierarchical structure; (b)receiving user input indicating a new property value to be included at auser desired location in the hierarchical structure (e.g., via a mouse,pen, digitizer, keyboard, network connection, disk drive, etc.); and (c)based on the user desired location in the hierarchical structure,determining whether the new property value would have a flat path datastring that differs from all other flat path data strings existing inthe hierarchical structure. The flat path data string for the newproperty value may include, for example, at least a first parentproperty portion and a first child property portion (optionally, atleast one of the first parent property portion or the first childproperty portion may be identical to a portion of at least one otherdefined property value in the hierarchical structure). The methodfurther may include adding the new property value to the hierarchicalstructure at the user desired location when the flat path data stringfor the new property value is determined to differ from all other flatpath data strings for properties existing in the hierarchical structure.

In use of various systems and methods in accordance with examples of theinvention, a user may enter input into the system indicating a searchquery, wherein the search query includes selection of a search propertythat includes a property value in the hierarchical property structure.Once the search query is entered, systems and methods in accordance withat least some examples of the invention may determine which electronicfiles stored on or available through a computer system or network(optionally with a search scope that limits the scope of files to besearched) meet the search query, wherein the electronic files determinedto meet the search query include the first search property storedtherein or associated therewith. As another example, the search querymay include user selection of multiple properties in the hierarchicalstructure, and determination of which electronic files stored on oravailable through the computer system or network (optionally within alimited search scope) meet the search query may include identificationof electronic files that include at least one of the selectedproperties.

The property data included in the computer-readable media, systems, andmethods according to examples of this invention may be stored in anysuitable or desired manner without departing from the invention, e.g.,in a manner so as to indicate a hierarchical structure of the propertydata in the property data set. As examples, the property data structuremay take on one of the following formats: parent propertyvalue—delimiter—child property value; parent propertyvalue—delimiter—child property value—delimiter—grandchild propertyvalue; child property value—delimiter—parent property value; and/orchild property value—delimiter—parent propertyvalue—delimiter—grandparent property value. Of course, any number oflevels in the property hierarchical structure and the data structure inthe flat path data string may be provided without departing from thisinvention.

Additional aspects of the invention relate to computer-readable mediaincluding computer-executable instructions stored thereon for providinghierarchical property data and/or using hierarchical property data,e.g., for storing, searching, navigating, and/or retrieving electronicfiles and related information, including computer-readable media forperforming the various methods and/or operating the various systemsdescribed above.

B. Multiple Property Selections

Other aspects of the present invention relate to methods and systems forprocessing input data that include multiple user selections, includingmultiple selections of electronic file property data. Such systems andmethods may include, for example: (a) selecting a first search parameterfrom a hierarchical structure including plural search elements (e.g.,through a user input device, such as a mouse, pen, digitizer, keyboard,network connection, disk drive, etc.); (b) selecting a second searchparameter from the hierarchical structure (e.g., through a user inputdevice, such as a mouse, pen, digitizer, keyboard, network connection,disk drive, etc.); and (c) determining whether the first searchparameter is located within the same element set in the hierarchicalstructure as the second search parameter (e.g., using a computerprocessing system). Various displays may be generated (e.g., on acomputer display device) by the computer processing system depending onwhether the first search parameter is determined to be located withinthe same element set as the second search parameter. In accordance withat least some examples of the invention, search results indicating aunion of electronic files meeting the first search parameter or thesecond search parameter may be displayed when the first search parameteris determined to be located within the same element set in thehierarchical structure as the second search parameter. Additionally oralternatively, search results indicating an intersection of electronicfiles meeting both the first search parameter and the second searchparameter may be displayed when the first search parameter is determinedto be located outside the element set in the hierarchical structure ofthe second search parameter.

In accordance with at least some examples of this invention, thehierarchical structure(s) of the various search elements may includeplural properties arranged in a hierarchical manner. At least one of thesearch parameters may include one of these defined property values.Optionally, in at least some examples, at least one of the searchelements will constitute a folder element, a list element, an auto listelement, or any other desired element in the hierarchical structure.Still additional features of at least some examples of the invention mayinclude determining or defining a scope for the search activities,optionally based, at least in part, on the hierarchical structure of thesearch elements and/or user input selecting portions of the hierarchicalstructure for the search scope.

Additional aspects of the invention relate to computer-readable mediaincluding computer-executable instructions stored thereon for performingvarious search methods and/or operating various searching systems,including systems and methods like those described above.

C. Grouping and Stacking in the Display Panel

Still additional example aspects of the present invention relate tocomputer displays providing user interfaces for searching electronicfiles stored on or available through a computer system or network. Userinterfaces in accordance with at least some examples of this inventionmay include: (a) a navigation panel displaying a hierarchical structureof search elements, wherein at least some individual search elements inthe hierarchical structure may be expanded, optionally in response touser input, to display one or more child search elements in thehierarchical structure, and wherein the navigation panel receives userinput directed to one or more search elements; and (b) a display paneldisplaying information relating, at least in part, to search resultsobtained from searching the electronic files, wherein the search resultsare determined, at least in part, based on the user input receivedthrough the navigation panel. Once expanded, the individual searchelements in the hierarchical structure of the navigation panel mayremain expanded to display the child elements in the hierarchicalstructure irrespective of the manner in which the search results aredisplayed in the display panel (e.g., in a stacked manner, in a groupedmanner, in a combined grouped and stacked manner, etc.). The varioussearch elements in the hierarchical structure may include, for example,property values, list elements, auto list elements, folder elements,etc., and the hierarchical structure may be, at least in part, definedby individual user input.

In accordance with at least some examples of the user interfaces inaccordance with the invention, user input selecting child searchelements or otherwise changing search elements in the hierarchicalstructure of the navigation panel will produce and/or drivecorresponding changes in the search results displayed in the displaypanel of the user interface.

Additional example aspects of the invention relate to systems andmethods for navigating electronic data stored on or available through acomputer system or network. Such systems and methods may include: (a)providing a navigation panel (e.g., using a computer processing system)displaying a hierarchical structure of navigation elements, wherein atleast some individual navigation elements in the hierarchical structuremay be expanded, optionally in response to user input, to display childnavigation elements in the hierarchical structure; (b) receiving userinput, through the navigation panel, selecting one or more of thenavigation elements (e.g., through a user input device, such as a mouse,pen, digitizer, keyboard, network connection, disk drive, etc.); and (c)displaying information relating, at least in part, to search resultsobtained from searching the electronic data, e.g., on a display device,wherein the search results are determined, at least in part, based onthe user input received through the navigation panel (e.g., using thecomputer processing system), and wherein the information is displayed ona display device simultaneous with display of the navigation panel.Additionally, systems and methods in accordance with at least someexamples of this invention further may include: receiving new userinput, through the navigation panel, selecting one or more newnavigation elements from the hierarchical structure (e.g., via an inputsystem as described above); and changing the information displayed(e.g., using a computer processing system), at least in part, based onthe new navigation element or elements selected, wherein the changedinformation is displayed on the display device simultaneous with thenavigation panel. The new user input may constitute, in at least someexamples, a child navigation element in the hierarchical structure fromthe navigation element initially selected to thereby filter down theinformation displayed. Again, the various search elements in thehierarchical structure may include, for example, property values, listelements, auto list elements, folder elements, etc., and thehierarchical structure may be, at least in part, defined by individualuser input.

Still additional systems and methods in accordance with at least someexamples of this invention may include systems and methods fordisplaying information regarding electronic data stored on or availablethrough a computer system or network. Such systems and methods mayinclude, for example: (a) providing a navigation panel displaying ahierarchical structure of navigation elements, e.g., on a display device(generated using a computer processing system), wherein at least some ofthe individual navigation elements in the hierarchical structure includefolder elements; (b) receiving user input, through the navigation panel,selecting at least one folder element (e.g., using a user input deviceas described above); and (c) displaying information on the displaydevice relating, at least in part, to search results obtained fromsearching the electronic data, wherein the search results are determined(e.g., using a computer processing system), at least in part, based onthe user input received through the navigation panel, wherein theinformation is displayed simultaneous with display of the navigationpanel, and wherein the information is displayed such that anysub-folders provided under the selected folder element are displayed asstacks. Additional features of at least some systems and methods inaccordance with examples of this invention may include: receiving newuser input (e.g., via a user input device), through the navigationpanel, selecting one or more new navigation elements from thehierarchical structure; and changing the information displayed, at leastin part, based on the new navigation element or elements selected (usinga computer processing system to generate the display). The new userinput may be used to select a property value in the hierarchicalstructure, and the information displayed, at least in part, maycorrespond to electronic data having the selected property valueassociated with it.

Still additional aspects of the invention relate to computer-readablemedia including computer-executable instructions stored thereonproviding user interfaces, performing various searching and/ordisplaying methods, and/or operating various searching and/or displayingsystems including use of the hierarchical searching and navigationelements, including providing the user interfaces, performing thevarious methods, and/or operating the various systems like thosedescribed above.

III. Example Hardware

FIG. 1 illustrates a schematic diagram of a general-purpose digitalcomputing environment that can be used to implement various aspects ofthe present invention. In FIG. 1, a computer 100 includes a processingunit 110, a system memory 120, and a system bus 130 that couples varioussystem components including the system memory 120 to the processing unit110. The system bus 130 may be any of several types of bus structuresincluding a memory bus or memory controller, a peripheral bus, and alocal bus using any of a variety of bus architectures. The system memory120 may include read only memory (ROM) 140 and random access memory(RAM) 150.

A basic input/output system 160 (BIOS), contains the basic routines thathelp to transfer information between elements within the computer 100,such as during start-up, is stored in the ROM 140. The computer 100 alsomay include a hard disk drive 170 for reading from and writing to a harddisk (not shown), a magnetic disk drive 180 for reading from or writingto a removable magnetic disk 190, and an optical disk drive 191 forreading from or writing to a removable optical disk 199, such as a CDROM or other optical media. The hard disk drive 170, magnetic disk drive180, and optical disk drive 191 are connected to the system bus 130 by ahard disk drive interface 192, a magnetic disk drive interface 193, andan optical disk drive interface 194, respectively. These drives andtheir associated computer-readable media provide nonvolatile storage ofcomputer-readable instructions, data structures, program modules, andother data for the personal computer 100. It will be appreciated bythose skilled in the art that other types of computer-readable mediathat can store data that is accessible by a computer, such as magneticcassettes, flash memory cards, digital video disks, Bernoullicartridges, random access memories (RAMs), read only memories (ROMs),and the like, may also be used in the example operating environment.

A number of program modules can be stored on the hard disk drive 170,magnetic disk 190, optical disk 199, ROM 140, or RAM 150, including anoperating system 195, one or more application programs 196, otherprogram modules 197, and program data 198. A user can enter commands andinformation into the computer 100 through input devices, such as akeyboard 101 and pointing device 102 (such as a mouse). Other inputdevices (not shown) may include a microphone, joystick, game pad,satellite dish, scanner, or the like. These and other input devices areoften connected to the processing unit 110 through a serial portinterface 106 that is coupled to the system bus 130, but they also maybe connected by other interfaces, such as a parallel port, game port, ora universal serial bus (USB), and the like. Further still, these devicesmay be coupled directly to the system bus 130 via an appropriateinterface (not shown).

A monitor 107 or other type of display device also may be connected tothe system bus 130 via an interface, such as a video adapter 108. Inaddition to the monitor 107, personal computers typically include otherperipheral output devices (not shown), such as speakers and printers. Inone example, a pen digitizer 165 and accompanying pen or stylus 166 areprovided in order to digitally capture freehand input. Although aconnection between the pen digitizer 165 and the serial port interface106 is shown in FIG. 1, in practice, the pen digitizer 165 may bedirectly coupled to the processing unit 110, or it may be coupled to theprocessing unit 110 in any suitable manner, such as via a parallel portor another interface and the system bus 130 as is known in the art.Furthermore, although the digitizer 165 is shown apart from the monitor107 in FIG. 1, the usable input area of the digitizer 165 may beco-extensive with the display area of the monitor 107. Further still,the digitizer 165 may be integrated in the monitor 107, or it may existas a separate device overlaying or otherwise appended to the monitor107.

The computer 100 can operate in a networked environment using logicalconnections to one or more remote computers, such as a remote computer109. The remote computer 109 can be a server, a router, a network PC, apeer device or other common network node, and it typically includes manyor all of the elements described above relative to the computer 100,although for simplicity, only a memory storage device 111 has beenillustrated in FIG. 1. The logical connections depicted in FIG. 1include a local area network (LAN) 112 and a wide area network (WAN)113. Such networking environments are commonplace in offices,enterprise-wide computer networks, intranets, and the Internet, usingboth wired and wireless connections.

When used in a LAN networking environment, the computer 100 is connectedto the local area network 112 through a network interface or adapter114. When used in a WAN networking environment, the personal computer100 typically includes a modem 115 or other means for establishing acommunications link over the wide area network 113, such as theInternet. The modem 115, which may be internal or external to thecomputer 100, may be connected to the system bus 130 via the serial portinterface 106. In a networked environment, program modules depictedrelative to the personal computer 100, or portions thereof, may bestored in the remote memory storage device.

It will be appreciated that the network connections shown are examplesand other techniques for establishing a communications link between thecomputers can be used. The existence of any of various well-knownprotocols such as TCP/IP, Ethernet, FTP, HTTP, UDP, and the like ispresumed, and the system can be operated in a user-server configurationto permit a user to retrieve web pages from a web-based server. Any ofvarious conventional web browsers can be used to display and manipulatedata on web pages.

Although the FIG. 1 environment shows an exemplary environment, it willbe understood that other computing environments also may be used. Forexample, one or more examples of the present invention may use anenvironment having fewer than all of the various aspects shown in FIG. 1and described above, and these aspects may appear in variouscombinations and subcombinations that will be apparent to one ofordinary skill.

The invention now will be described in conjunction with the remainingfigures, which help illustrate various example features and aspects ofthe invention and which help explain the invention. The specific figuresand information contained in this detailed description should not beconstrued as limiting the invention.

IV. Example Systems, Methods, and Computer-Readable Media According tothe Invention

In modem computer operating systems and application programs useful onthem, many file navigation, searching, listing, and/or retrievaloperations occur via query operations, as the systems attempt to locateitems (such as stored electronic files or other data) that meet thevarious query parameters. Aspects of the present invention providenavigational tools that, in at least some instances, also can be usedfor item placement and file storage, which assists the user in thesefile navigation, searching, listing, and/or retrieval efforts.

In accordance with example aspects of this invention, users may usenavigational tools in accordance with this invention: to navigate toand/or locate information relating to any page in a navigational controlmenu; to add pages to the navigational control menu or listing; to additems to any set (such as a property set, an auto list set, a list set,a folder set, etc.); to see the content of existing and/or systemfolders (e.g., a “My Documents” folder, etc.); to see expandedsub-folders within folders; to add properties or other data to files orother items (e.g., optionally in a hierarchical manner), even to filesor items stored in an auto list or a system generated list; and thelike. Additionally, in accordance with at least some example aspects ofthis invention, users and/or independent software vendors will be ableto customize the system navigational tools for use in differentapplication programs, in different views, in different modes ofoperation, and/or the like. If desired, users also can be given varioustools to restore the navigational panel to a previous state or to itsoriginal state.

As more specific examples, if desired, navigational tools in accordancewith examples of the invention may be designed or customized with listsand/or auto lists that allow users to quickly locate and viewinformation relating to pages of interest. For example, if desired,systems may have lists or auto lists named “Documents Stacked by Author”(or the like) to allow users to quickly jump to a view showing “stacks”of files collected together based on the underlying authors named forthe various documents (the user can further drill down into the stacks,if desired, e.g., to locate specific documents by specific authors),and/or based on properties associated with the files when they arecreated, stored, edited, downloaded, modified, or the like. Otherpotential groupings or listing of stacks may include listings such as“important documents,” “recent documents,” “good music,” “recentlyused,” “recently obtained,” etc.

More detailed descriptions of various aspects of the invention follow.Those skilled in the art will appreciate that this description merelyincludes examples of various aspects of the invention and does not limitthe invention.

A. Storing Properties in a Hierarchical Relationship

As described above, certain example aspects of the present inventionrelate generally to systems and methods for storing and using“properties” in conjunction with individual stored files or data onand/or available through a computer system or network. In general, whensaving new files to a computer system or network, such as a PC, anetwork of PCs, a server, or the like, users typically can assign“properties” to the files. Examples of such “properties” include:Comments, AuthorID, Keywords, and the like. While this capability isuseful and may be adequate in some instances (for example, when only asmall set of properties is involved), this conventionally available“flat” property structure can become difficult to manage and/or use overtime (e.g., as the overall number of available properties increases).Also, with this flat property data structure, users must separatelyenter and/or associate each desired property with an individual file.This can be a time consuming task. Additionally, the failure toaccurately and/or completely associate properties with respective filesmay limit a user's ability to search for, locate, and/or retrieve thedesired data at later times. For example, as the number of differentindividual available properties increases, it becomes more difficult forusers to reliably retrieve items when they must correctly name, in asearch query, one or more of the individual properties associated withthe file.

At least some example aspects in accordance with this invention provideusers the ability to assign and store at least some file “property” dataalong with an electronic file, e.g., as metadata, wherein the assignedproperty data is part of a hierarchical structure. As more and moreproperties become available to users (e.g., through user designationand/or user definition of new properties), providing the properties in ahierarchical structure in accordance with examples of this inventionwill allow users to quickly assign multiple properties to a file througha simple one property assignment action. The availability and use ofhierarchical properties in accordance with examples of this inventionalso will allow users to have more control over ordering their propertyvalues (e.g., in a display of the hierarchy, to provide the most commonor important elements high in the hierarchy, etc.), and it will allowusers to express relationships between the values of a property and havethese relationships reflected when retrieving items or assigning valuesto items. The availability and use of hierarchical properties inaccordance with examples of this invention also will give userscompelling ways to organize the values generated in a property and tobrowse through and retrieve their items using this organization. The useof hierarchical properties in accordance with examples of thisinvention, as will be explained in more detail below, may allow users tomore easily navigate through files across different properties, locatedesired files, and/or retrieve files using a single property (even, atleast in some instances, when the property searched with was notexplicitly assigned to the file by the user but was simply part of thehierarchy of a property assigned by the user).

FIG. 2A illustrates an example property hierarchical structure 200 for“keyword” properties that may be used in association with variouselectronic files, such as digital pictures, music, videos, electronicdocuments, or the like. In this example, the user has defined ahierarchical structure 200 that may be used in assigning properties tofiles, e.g., when the files are first stored, created, downloaded, whenmodified, edited, moved, etc. In this hierarchical structure 200, a“People” node constitutes a parent level node in the hierarchy 200. The“People” node includes three immediate children nodes (namely,“Friends,” “Family,” and “Co-Workers”), and each of these children nodescontains further individual children nodes, as shown in the figure. Inuse, assigning a keyword to a file (e.g., including a keyword inmetadata associated with an electronic file) not only associates thatspecific keyword with the file, but it also associates any higher parentkeywords of the associated keyword in the hierarchy with that file. As amore specific example based on FIG. 2A, assigning the keyword “Dad” toan electronic file would also, automatically, associate the keywords“Family” and “People” with that file in this example system and method,because these keywords exist in the hierarchal path associated with theassigned keyword “Dad” (i.e., the overall hierarchical keyword dataapplied in this example is: Dad>Family>People). Therefore, a searchquery containing any one of the three terms “Dad,” “Family,” and/or“People” would return a hit for this file. Without the hierarchyaccording to this example of the invention, the user would have toseparately apply all of these keywords to the file (e.g., each of “Dad,”“Family,” and “People”) if he/she wanted to associate each keyword withthe file and/or be able to retrieve information relating to the filebased on any of these keywords.

Additional aspects of the present invention relate to systems andmethods for entering or capturing a hierarchy that may exist betweenproperties (e.g., a user defined hierarchy, an automatically generatedhierarchy, etc.). If desired, this hierarchical property information maybe stored, e.g., as metadata contained in and/or associated with theelectronic file itself, as a flat path, similar to the manner in whichhierarchical folders are stored in various commercially availablesystems and methods (such as systems and methods with folders availablein various operating systems and application programs available fromMicrosoft Corporation). More specifically, systems and methods accordingto at least some examples of this invention will store one or morehierarchical properties for an electronic file as a flat path string(akin to a known flat folder path string), which allows the shelloperating system to correctly stack, filter, group, and/or otherwisenavigate or process information relating to the stored files using thehierarchical properties in the same or a similar manner to which afolder hierarchy may be navigated and/or processed today in variousconventional systems and methods that utilize folder structures.Similarly, providing a hierarchical data structure for properties givesusers the ability to drill into a sub-property to get to lower childproperty levels in the hierarchy, in a manner similar to the manner inwhich users can drill into sub-folders in the known and conventionalfolder systems.

In the data structure (e.g., in data sets or fields, such as in metadataassociated with a file), the various property values may bedifferentiated by paths, such as the flat path strings described above.In this manner, an individual value (e.g., an individual node name) canappear multiple times in a hierarchy, provided the paths to theidentical node names or values are different at each place the nameappears. FIG. 2A illustrates an example. Specifically, as shown in FIG.2A, the value “Jim” appears under both the “Family” node and the“Co-Workers” node. Because the paths to these two “Jim” values differfrom one another (i.e., People>Family>Jim v. People>Co-Workers>Jim),these two values, including the same ultimate end name (optionally onthe same hierarchical level as shown in FIG. 2A), can co-exist in thehierarchy without causing difficulties. A specific node name or valuecan appear any number of times in a hierarchy provided that the path toit in each instance is different from all other paths to the same nameor value.

Additional example aspects of the invention relate to processes todisambiguate between properties in different branches of a hierarchicalstructure that utilize the same name or node value. In the exampledescribed above in conjunction with FIG. 2A, the name “Jim” isassociated with both a family member and a co-worker. To distinguishbetween these two cases, systems and methods according to at least someexamples of the invention need only compare the values in higher levelsof the hierarchy for the two cases in question to determine whether thevalues in question have an uncommon parent property, node, or path.Using the example above, systems and methods according to at least someexamples of this invention can differentiate between the two common nodenames in the hierarchy by looking at each “Jim” node's parent node. Thisinvestigation shows that one “Jim” node has “Family” as a parent nodewhile the other “Jim” node has “Co-Workers” as its parent node. Becausetheir immediate parent nodes are different and distinguishable, thesetwo “Jim” nodes can co-exist in the property hierarchical structure 200.Of course, the different parent node names need not be located at theimmediate parent node of the node(s) under consideration (e.g., thedifferently named parent nodes could be located at a grandparent nodelevel, at an even higher node level, and/or at different node levels inthe hierarchical structure).

The hierarchical structure 250 illustrated in FIG. 2B, however,typically would not be permitted, in at least some example systems andmethods in accordance with this invention. More specifically, as shown,the hierarchical structure 250 in FIG. 2B is similar to the hierarchicalstructure 200 in FIG. 2A except with respect to certain nodes at thelowest level. In FIG. 2B, the “Family” node contains two child nodes onthe same hierarchical level having the same name (namely, the two “Jim”nodes). Because the flat path string to each of these “Jim” nodes is thesame (i.e., People>Family>Jim), it would not be possible for theoperating systems and/or application programs to distinguish one nodefrom the other, and therefore, an ambiguity would exist any time theflat path string “People>Family>Jim” were used. If a user attempts toset up two identical property paths as shown in the example of FIG. 2B,systems and methods according to at least some examples of thisinvention will display an error message, present a dialog box, requestentry of a new name, and/or otherwise indicate to the user that thisname or value is not permitted in the hierarchical structure at thislocation.

Property values may be assigned to and/or associated with an individualfile in any desired manner and/or at any desired time without departingfrom this invention. For example, users may be given an opportunity toassign property values to a file when a new file is downloaded to and/orsaved onto a user's computer system or network. FIG. 3 illustrates anexample user interface 300 through which a user may save a file tohis/her computer system or network and, if desired, through which he/shemay assign one or more properties to the file. As shown, the userinterface 300 includes a navigation panel 302, which displays at leastsome of the properties or other information that may be associated withand/or assigned to a file (e.g., when information relating to a new fileis entered in an input panel 304, in an “edit profile” procedure, and/orat any other desired time). Notably, the properties in navigation panel302 are arranged in a hierarchical manner. The various properties can beassigned to and/or associated with the file in any desired manner, e.g.,by typing or writing the node name in at the appropriate location in theinput panel 304 (e.g., in a “keyword” input box) by “dragging” and“dropping” a property name from the navigation panel 302 to anappropriate location in the input panel 304, etc. As another example, ifdesired, properties may be assigned by dragging an icon or otherrepresentation of a file (e.g., from a file list) onto the desired valueor node name in the navigation panel 302 and dropping the icon or otherrepresentation at that location (if desired, the hierarchy in thenavigation panel 302 may exhibit an “auto-expand behavior” in whichdragging an icon or other file representation onto a parent propertyvalue and holding it over that property value (without dropping) willexpand the parent property value (if possible) to at least its nextlevel of hierarchy (e.g., in the same manner that some folders will“auto-expand” in currently available systems and programs)). In additionto assigning property values to files through a navigation panel 302,like that shown in FIG. 3, users of hierarchical property systems inaccordance with at least some examples of this invention may navigate orsearch through their hierarchies, manage and/or edit their hierarchies,and/or take other actions, as will be described in more detail below.

In accordance with at least some examples of this invention, when a fileor other item is assigned a property value that is a child of anotherproperty value (e.g., the value “Playoffs” in FIG. 3), the file or otheritem also will automatically inherit any and all parent property valuesassociated with the assigned property value (e.g., “SportsPics>Basketball” in this specific example). Moreover, if desired, aparent property value can be assigned to a file or item even if thatproperty value has one or more child property values under it (e.g., onecan assign a “Basketball” property to a file). In such an instance, inat least some example systems and methods in accordance with theinvention, while the parent property will be assigned to the file,neither of its children property values (i.e., “Practice” or “Playoffs”in this example) will be automatically assigned to the file or item(although its parent property would be assigned). Of course, if desired,systems and methods also could be set up to automatically assign orassociate the children properties with the file in this situationwithout departing from the invention.

As will be described in more detail below, in accordance with at leastsome examples of this invention, a list files, search, or other queryincluding a parent property value as a search element or parameter willreturn all items tagged with both the designated parent property valueand any of its children property values. In this manner, storage systemsand methods in accordance with examples of this invention allow users toeasily tag items with a relatively few highly specific descriptiveproperties (e.g., at lower levels in the hierarchy), but by arrangingthe properties under increasingly broader parent nodes in thehierarchical structure, the tagged items may be made to readily appear,even in response to relatively broad search queries. If desired, inaccordance with at least some examples of the invention, when the searchresults, list files results, or file preview results are displayed inresponse to a search query, the primary value assigned to the file(e.g., the actual value assigned by the user) will be highlighted and/ormade known or available to the user in some manner.

The available (e.g., previously defined by the user, system, or another)and/or stored hierarchical properties may be displayed by systems andmethods in accordance with examples of this invention at any desiredtime and/or at any desired location without departing from theinvention. For example, as shown in FIG. 3, the properties may bedisplayed during a “Save” or “Save As” operation (e.g., in thenavigation panel 302). They also may be displayed during file “search,”“list,” or “viewing” operations, e.g., in the same hierarchical treelayout illustrated in navigation panel 302 of FIG. 3. Also, if desired,hierarchical properties in accordance with examples of this inventionmay be displayed in any and/or all places where conventional propertiesare shown by application programs and/or operating systems today (e.g.,as properties shown in a “list view” display, as properties shown in an“item details” display, as properties shown in a file “preview” display,etc.). Also, if desired, hierarchical properties in accordance withexamples of this invention may be displayed in any controls used tonavigate properties, such as in a tree control supporting properties.

FIG. 3 illustrates an example of display of hierarchical properties in atree control screen (e.g., in the navigation panel 302). FIG. 4, on theother hand, illustrates an example of display of property information inan item or file “preview” screen 400. As shown in FIG. 4, this exampleitem or file “preview” screen 400 includes a thumbnail or iconic display402 of the item (e.g., a small version of the picture included in thefile, in this example), as well as certain system and/or other factualinformation relating to the file, such as the file name, its savedtime/date, file size, and user input “caption” information. In addition,this item or file “preview” screen 400 displays certain “property”information input by the user, including: assigned keywords (displayedin a flat path string format), picture subject ID's, user input ratinginformation, and the like. Of course, any number of properties may belisted in such screens without departing from the invention (optionally,with the ability to display information regarding any undisplayedproperties).

The property information may be entered and/or associated withindividual files at any desired time and in any desired manner withoutdeparting from the invention. In addition to including the propertyinformation with the files at the time they initially are saved onto thecomputer system or network, properties associated with individual filesmay be added to, deleted from, and/or modified at other desired times,such as whenever a file is opened, edited, or used, in response to an“edit profile” or “edit properties” command, and the like. Theproperties may be entered via typing (optionally with “auto-completion”of matching strings, optionally from any level in the hierarchy),through drag-and-drop operations, through “right-click” operations,through pen “press-and-hold” operations, etc. Any tools useful forsetting, editing, and/or deleting properties associated with aparticular file also may be accessed and used in the preview screen 400without departing from the invention.

Additionally, the actual content of the properties in the hierarchicalarrangement may be changed by the user at any desired time and/or in anydesired manner without departing from the invention, including, forexample, in the manner that conventional “folder” structures are addedto, deleted from, and/or otherwise edited in conventional applicationprograms and operating systems. As examples, new properties may be addedunder an existing property and/or existing properties may be deleted via“right click” mouse button actions (which may display an appropriateuser interface, e.g., a menu including “insert new property,” “deleteexisting property,” “change node level or position,” cut, copy, paste,or other appropriate actions) or in any other desired manner. As anotherexample, if desired, the locations of existing properties in ahierarchical structure may be changed, e.g., moved via “drag and drop”operations, as illustrated in FIG. 5. More specifically, FIG. 5illustrates the navigation panel 302 displaying a hierarchical propertylisting, e.g., for an application program for storing and editingdigital photographs. The left hand side of FIG. 5 illustrates the usermoving the icon for the keyword “Ocean,” through a drag and dropoperation (illustrated by arrow 502) from beneath the “Camping” parentnode to the hierarchical level immediately beneath the “Keyword” node.Once positioned at the desired location (e.g., immediately over the“Keyword” node in this example) via the dragging operation (e.g., withthe left mouse button held down), the “Ocean” node may be repositionedin the hierarchy by dropping it in that place (e.g., by releasing themouse's left button). This action will reposition the node “Ocean” asshown in the right hand side of FIG. 5. If desired, the user can movethe former children nodes “Pacific” and “Atlantic” to accompany the“Ocean” node through additional drag and drop operations. Alternatively,if desired, systems and methods according to at least some examples ofthis invention may operate such that repositioning a node also willresult in automatically repositioning of its children nodes (if any). Ifdesired, in accordance with at least some examples of this invention, auser can press the “Control” button while dragging a property value inthis manner (or take other pre-determined action) to make another copyof the property value (and optionally its children property values)appear under a different property value (e.g., using a paste command).Of course, other ways and protocols for cutting, copying, and/orrepositioning nodes and/or their respective children nodes may be usedwithout departing from the invention (e.g., repositioning a node withcollapsed children may be used to reposition the node and all of itschildren in one action, but repositioning a node with its children fullyexpanded and displayed may be used to only reposition the parent node,without its children, etc.). Other default methods and ways of movingnodes may be used in systems and methods without departing from thisinvention.

In at least some instances, depending on the specific characteristics ofsystems and methods in accordance with the invention, errors may begenerated during this repositioning action, for example, if the sameproperty name appears more than once in the new path or position for themoved property. Systems and methods according to examples of thisinvention may handle such situations in any desired manner, e.g., by notcompleting the desired move, by providing an interface to enable theuser to change a name within the path, by displaying a dialog box toadvise the user of the problem with various options for rectifying theproblem, etc. As another example, if desired, systems and methods may bedeveloped that will allow multiple uses of a single name within a path(e.g., Location>New York>New York), such that this error would notappear unless an attempt is made to produce multiple nodes having thesame overall flat path string names.

Users that take advantage of the hierarchical property characteristicsin accordance with examples of this invention may develop a relativelylarge hierarchical structure for properties such that the overallhierarchical structure, when fully expanded, spans longer than theavailable space in the navigation panel 302 and/or the height of theirdisplay screen. This situation can be handled in any desired mannerwithout departing from the invention, for example, by providing scrollbars within the navigation panel, by allowing children nodes to collapseunder their parent nodes (and to be fully expanded or collapsed based onuser input, e.g., in a manner similar to the way that hierarchicalfolder structures expand and collapse in conventionally availablesystems and methods), etc. When opened, navigation panels 302 of thetype illustrated in FIGS. 3 and 5 may open at any desired locationwithin the hierarchical structure and/or in any desiredexpansion/contraction condition, such as always at the top of thehierarchical structure location, at the most frequently used location inthe hierarchical structure, at the most recently used location in thehierarchical structure, at a location in the hierarchical structure thatincludes the open document (if any), in a fully expanded condition, in afully collapsed condition, in the most recently used condition, etc.Also, the navigation panel 302 may appear at any desired location on thedisplay screen, such as at the left or right side, e.g., based on userpreference, default, etc.

If desired, systems and methods in accordance with at least someexamples of this invention may include a basic hierarchical structurewhen shipped, and this basic structure may be used by users as astarting point to build a more complete, richer hierarchy, e.g., onethat is more targeted and customized to their own uses. Examples of sucha pre-determined basic hierarchical structure, e.g., for storing digitalpicture, audio, video, or other user data, may include base nodes suchas: Keywords, Events, Places, People (e.g., potentially with childnodes, such as Author, Photographer, Subject People, etc), Dates, MyPictures, My Music, My Documents, My Videos, etc. Any desiredinformation may be included in this basic hierarchy without departingfrom the invention.

FIG. 6 illustrates an example display screen 600 as it may appear, forexample, in response to a “List Files,” search, query, navigate, orother appropriate command. Notably, the left hand side of this exampledisplay screen 600 includes a navigation panel 602 for the hierarchicalproperties under which at least some of this user's files are stored(e.g., relating to a digital photograph storage/editing system in thisexample). In at least some examples of systems and methods in accordancewith this invention, the display screen 600 with navigation panel 602may be a primary entry and interaction point for hierarchical propertiesfor the user. From such a screen 600, users may be able to view files,present search queries, and/or filter through their files based on thevarious hierarchical categories that have been created as well as otherstored data associated with the files. As shown in FIG. 6, highlightingthe node “Keyword” in the hierarchy (e.g., by a left mouse button clickaction) pulls up a complete listing of user files having keywordsassigned to or associated with them. In this example system and method,this action pulls up listings of digital photograph files includingthumbnail icons or pictures 604 illustrating the individual files in thedisplay portion 606 of the screen 600. The individual files in thisexample are grouped based on the individual child levels of thehierarchy immediately below the highlighted search term (i.e., groupedas “Sports Pics,” “Summer,” and “Camping” groups in this illustratedexample, with the other levels of the hierarchy (i.e., “Flowers” and“Ocean”) not shown due to display portion 606 size constraints). Ofcourse, many ways of displaying the search or list view results arepossible without departing from this invention.

Any desired form or format may be used for storing or representing thehierarchical properties with individual files without departing fromthis invention. For example, if a child property value is assigned to afile, the path to that property value through the hierarchical structuremay be stored as part of and/or associated with the actual file (e.g.,as metadata included in and/or associated with the file). As an example,the representation or data structure of the hierarchical structure mayinclude, at least: (Parent property value) [delimiter] (child property1) [delimiter] (child property 2). . . . Returning to the more specificexample illustrated in FIG. 6, a file saved with the individualproperties “Football” and “Games Attended” associated with it may havemetadata associated with the file that would be displayed along withinformation about the file in at least some instances (e.g., as shown inFIG. 4), for example, in the form of: “Keyword/Sports Pics/Football;”and “Keyword/Sports Pics/Games Attended.” In these examples, the parentproperty value is “Keyword,” the first child property value in eachinstance is “Sports Pics,” the second property values are “Football” and“Games Attended,” respectively, and the delimiter is the slash “/” (thedelimiter may be a special character used to separate property names,and this delimiter may not be included in property names, to avoidconfusion in the system). Of course, any number of children propertylevels may be included in the flat path data string without departingfrom the invention.

Properties listed in a navigation panel, e.g., panel 602, at least inpart, may behave in a manner similar to the way conventional foldersbehave in various known operating systems and application programs. Forexample, the manner of expanding and/or collapsing hierarchicalproperties in the navigation panel 602 may be similar to expandingand/or collapsing folders in similar folder navigation panels orcontrols. As more specific examples, in order to view and display childproperty values under a parent property, a user can click on a “widget”provided to the left of the property (note, for example, the widget withthe “+” sign therein for the “Summer” keyword in FIG. 6 (the “+” sign inthe widget indicates the presence of one or more additional undisplayedchild properties, and a “−” sign in the widget indicates that thespecific property already has been expanded in this example system)). Inat least some examples, if a property or node has no children, thewidget to its left may be omitted, it may include no additionalindicator (e.g., a “+” or “−” sign, etc.), it may include anotherindicator, or the lack of children nodes may be indicated in anotherdesired manner. An indentation scheme, e.g., as shown in FIG. 6, alsomay be used to help better illustrate the hierarchical structure.Notably, because an individual file may have multiple propertiesassociated with it, the same file or item may appear in multiplegroupings in the display panel 606 (note, for example, that Pictures 13and 44 appear in both the “Sports Pic” grouping and the “Summer”grouping in FIG. 6).

Systems and methods in accordance with at least some examples of thisinvention may support still other ways for users to change, modify,and/or use the hierarchical property structure. As one example, insituations when a property value in the navigation panel 602 is selectedvia a right-click action when no items in the display panel 606 areselected, the user then may be given an option (e.g., via an interface)to add a new hierarchical property as a child under the right clickselected node (e.g., a new node with an editable textbox may appear atthe location of the new property value in the hierarchical structure toenable the user to type in (or otherwise enter) the new property value).A “delete” function or option may be provided, e.g., via a right mousebutton click, to enable the user to delete any desired portion of thehierarchy, such as an individual node, a node and all of its childnodes, etc. “Promote” and “demote” functions may be provided, e.g., toallow a user to select a property value and move it (optionally alongwith all of its own child values) up or down a level in the hierarchy,respectively (e.g., promotion makes the selected node move to a level sothat it now appears as a peer to its former immediate parent node). Asstill another example, a “rename” function may be provided, e.g., via aright mouse button click, that will enable users to give any propertyvalue or node a different name (optionally, with limitations if the samename is used twice in a path and/or if two identical flat path names arepresented, as described above). Potential functions that may be providedin accordance with examples of this invention, e.g., via a right mousebutton click when a file is selected in the display panel 606, include a“remove property” function and an “add property” function, which may beused to remove and/or add one or more properties from/to the metadata orother data stored with and/or associated with the file. Of course, otherfunctions and/or other ways of performing the above functions may beprovided without departing from the invention. Where necessary, allfiles or items tagged with a given property and/or path that is changedvia the various functions described above may have their correspondingproperty data and/or path information updated to reflect the user madechanges to the paths and/or properties.

Additional features in accordance with at least some examples of theinvention relate to sharing hierarchical properties, e.g., when existingfiles including hierarchical property data are sent to another userhaving a system or network that supports hierarchical property data butdoes not necessarily have the same available hierarchical propertystructure corresponding to the newly received file(s). Systems andmethods in accordance with at least some examples of this invention maybe constructed to allow sharing of files (or other items) withhierarchical property values in a manner similar to the manner in whichfiles (or other items) having flat property values are shared. Inaccordance with at least some examples of systems and methods accordingto this invention, the default behavior for when a file or other itemcomes into a system with hierarchical property values will be asfollows: (a) the hierarchy of the new file will be displayed in allareas where hierarchical keywords typically are displayed by the systemor network, e.g., in the same manner as if the newly received fileoriginally had been created on the target system or network; (b) if thesame hierarchy as that required for the new file already exists on thenew recipient's system or network, the new file item will associateitself with the hierarchy already on the system or network; (c) if onlypart of the path necessary for the new file exists on the recipient'ssystem or network, the remaining parts of the hierarchy to accommodatethe new file will be created on the recipient's system or network;and/or (d) if none of the path necessary for the new file exists on therecipient's system or network, the new hierarchy to accommodate the newfile will be added to the recipient's system or network.

The following provides a more detailed example of property hierarchysharing in situations where a file is received and saved to a new user'ssystem or network. In this example, the recipient user has an existingproperty hierarchy with the path/property values “Family/Brothers/Toby.”A new file is received by a recipient user (e.g., as an emailattachment), and this new file, which is saved to the recipient'ssystem, includes metadata from the file sender's hierarchicalconfiguration. Both the file sender and the file recipient operateprograms, systems, and/or methods with hierarchical data structures inaccordance with an example of this invention. The following tabledescribes the manner in which the recipient user's system may handlereceipt of the new file in various different scenarios: TABLE 1 NewFile's State of the Hierarchical Recipient's System State of theRecipient's Property Before Receiving the System After Receiving theValue New File New File Family/Brothers/ Family/Brothers/TobyFamily/Brothers/Toby - Toby (no change) Family/Brothers/Family/Brothers/Toby Family/Brothers/Toby; Noah Family/Brothers/Noah -(the system adds a child node for “Noah” to accommodate the new file'shierarchy) Relatives/Cousins/ Family/Brothers/Toby Family/Brothers/Toby;Toby Relatives/Cousins/Toby - (the system adds an entire new hierarchyfor the new file).

The various property values associated with a file may be displayed atany appropriate time and in any appropriate fashion without departingfrom the invention. For example, as described above in conjunction withFIG. 4, property information may be displayed in a “preview” panelassociated with a file. As additional examples, if desired, theproperties associated with a given file may be included with a“property” page or a “display properties” command associated with afile. Existing properties also may be displayed, for example, duringsave, save as, edit profile, open file, or other similar operations. Ifdesired, the stored properties associated with a file also may bedisplayed while the file is opening and/or open, e.g., in a toolbar, andthe user may have an interface available for editing the properties,e.g., while actively working with the file, after it is saved, before itis opened, etc. Many other options are available for displaying thesaved property data associated with a given file without departing fromthis invention. Of course, any number of properties may also beassociated with a given file without departing from this invention.

Also, any desired amount of the property data associated with a file maybe displayed in the various locations without departing from theinvention. For example, if desired, the entire hierarchical path may beshown for each property (or at least some properties) at any locationwhere one or more of the properties associated with a file are displayed(e.g., in “preview” or “property” panels, like that shown in FIG. 4). Asanother example, if desired, only the assigned property value itself maybe shown at the various locations (and the remainder of the hierarchycan be seen, for example, via the navigational panel, during a cursor“hover” action, etc., as well as via the file information stacking andgrouping features to be described in more detail below). As a morespecific example, if an individual file (such as a digital picture) hasthe following hierarchical keywords assigned to it: “SportsPics>Baseball>Practices>Cardio Drills,” this lengthy flat path stringmay be represented in at least some locations simply by providing thelowest child node in the path, namely “Cardio Drills.” This truncatedformat of property listing, however, runs the risk of having namecollisions and/or being somewhat unclear to the user (e.g., if the node“Cardio Drills” exists at multiple locations in the hierarchy). In suchsituations, if desired, additional hierarchical information may bedisplayed along with the lowest level keyword to distinguish theconflicting information. For example, as described above in conjunctionwith FIG. 2A, each hierarchical node in systems and methods according toat least some examples of this invention has a different and uniquepath. This information may be used to resolve conflicts described above.Specifically, for example, when there is a conflict of the typedescribed above (defined as two hierarchical property values beingvisually represented in the same way), systems and methods according toat least some examples of the invention will traverse the conflictingpaths until a different parent property value is found, and that valuewill be displayed (optionally along with the conflicting lowest levelnode information). For example, if a hierarchy contained and/or anindividual file was tagged with both: “SportsPics>Baseball>Practices>Cardio Drills” and “SportsPics>Basketball>Practices>Cardio Drills,” the displayed propertyinformation, e.g., in a “preview” or “property” display, may berepresented, for example, as “Cardio Drills . . . Baseball” and/or“Cardio Drills . . . Basketball,” and/or in some other appropriatemanner to distinctly show the correct hierarchy.

As another example of practical use of hierarchical propertyinformation, many businesses are arranged with at least some degree ofhierarchical structure (e.g., departments, divisions, locations, etc.).More targeted operating systems, methods and/or application programsaccording to examples of the invention may be developed for suchbusinesses that take advantage of the hierarchical nature of theindividual corporation's structure. For example, pre-determinedhierarchies may be provided for the computer systems, networks, and/orapplication programs used by corporate employees that include apredefined hierarchical structure for properties in data stored for thecorporation. Such systems and methods can enable at least some overallsensible hierarchical structure in the corporation's systems andnetworks in which its data may be organized and stored.

Aspects of the present invention also relate to computer-readable mediaincluding hierarchical property data stored thereon andcomputer-readable media including computer-executable instructionsstored thereon for allowing entry and/or use of hierarchical propertydata in various operating systems, application program environments,and/or various other systems and methods, including the systems andmethods described above. The computer-readable media may constitutecomputer-executable instructions stored on the various specific examplesof computer-readable media described above.

B. Multiple Property Selections

As described above, additional aspects of the present invention relategenerally to systems and methods for searching information contained ona computer system or network, optionally, taking advantage of thehierarchical property structures described above.

With its Windows® computer operating systems, Microsoft Corporation ofRedmond, Wash. introduced a real world analogy for saving, organizing,and retrieving electronic information from computer systems or networks,namely folders. This folder system was strictly an end-user conceptintroduced to give a real world feel to the electronic data andinformation stored on or available through the computer. Computer userstypically think of their computer's hard drive as a big filing cabinetin which their files are organized. However, to the computer systemitself, an electronic file is simply a series of bits that are encodedmagnetically to a hard drive (or in some other manner), and a “folder”is simply a way for the computer system to reference those sets offiles.

With Microsoft Corporation's NT File System (“NTFS”), the ability tosupport hard links was introduced. This feature enabled users to placeelectronic files in multiple folders. Of course, physically, thisfeature does not require that the bits representing those electronicfiles are duplicated multiple times on the computer's hard drive (orother storage system), e.g., once for each folder in which the file isplaced. Rather, the different folders reference back to the same file.However, when initially released, this ability was not exposed to endusers because putting a single file into multiple folders did not matchthe user's real, physical world concept (i.e., the same physical pieceof paper cannot be located in two separate physical folders at the sametime).

In at least some operating systems in which at least some aspects ofthis invention may be practiced, a new end-user concept called a “list”is being introduced. As a physical analogy, one may think of a “list” asa container that references sets of items (e.g., electronic files). Tobetter understand “lists,” a more detailed explanation of a “folder” isdescribed. A “folder” may be considered as a “set” or group of itemsthat are considered as related to one another in some manner (e.g.,being present in the same “folder” may be one way that items in a setmay be considered as “related”). Each item or file in a set or foldermay include a property called “PARENTFOLDER” (e.g., in the form of apath, such as “c:\users\usera\documents\”). Notably, this path also isan end user metaphor and does not necessarily reflect the physicalstructure of the computer. In fact, the concept of a drive itself alsomay be considered a metaphor, as a single physical hard drive may bepartitioned into multiple “drives,” such as a c drive, a d drive, etc.

Another way users can define a “set” is through a “list.” “Lists” may beconsidered as related to “folders” because each may be thought of asdefining a set of items. Unlike “folders,” however, “lists” inaccordance with at least some examples of this invention do not definethis relationship using a “PARENTFOLDER” property as described above.Rather, “lists” will allow the same item (e.g., an electronic file) toexist in multiple locations (e.g., in multiple, independent “lists”).Like “folders,” “lists” are an end-user concept. Putting electronicfiles or other items in multiple “lists” does not cause the actualphysical bits representing the underlying data to be duplicated, butrather, the underlying electronic files or items are referenced by (or“linked” in some manner) to that “list.” To tie this discussion back toa real world example, a person may have a “Shopping List” and an “Urgent‘To Do’ List” in which they keep track of items they need to purchaseand things that they need to do. Both of these “lists” may include anitem such as “birthday present for wife.” The user understands thatbuying a gift is both something that must be done while shopping andsomething that must be done rather urgently. The user furtherunderstands, however, that just because this item is entered in two ofhis/her lists, this does not mean that they need to purchase two gifts.Rather, the single act of buying the gift allows the user to remove eachitem from its respective list.

Operating systems in which at least some aspects of the presentinvention may be practiced further may include “Auto Lists.” “AutoLists,” like “lists” and “folders,” define sets of items. These sets ofitems may be generated automatically based on common property valuesassociated with items stored on or available through the computersystem. For example, if desired, users can have an Auto List based onthe property value: rating=5 star. Using this “Auto List” feature, userscan easily locate and see information relating to all of their filesthat are rated 5 stars regardless of which specific folder or “list”they may appear in. As long as the file or item has a 5 star ratingassociated with it, systems and methods according to at least someexamples of this invention will automatically include this file or itemas a member of this dynamically and automatically generated set, e.g.,any time a user's query asks to see the 5-star Auto List. Other examplesof “Auto Lists” may include, for example: recently created files,recently edited files, frequently used files, Author ID, creationtime/date, edit time/date, file type, application name, etc.

One aspect relating to the content of an “Auto List” relates to thelist's scope (i.e., the set of files and/or locations that will besearched to generate the “Auto List”). Various limits on the scope of an“Auto List” may be set, depending, for example, on the environment inwhich the computer is located, user preferences, the manner in which thecomputer or network is used, and the like. For example, the scope of an“Auto List” may be limited to a particular machine, to a particularuser's files on a machine or a network of machines, and/or in any otherdesired manner without departing from aspects of this invention. As amore specific example, the scope of a “5 star” Auto List may be limitedto a set of specific files or folders to search across, such as thefiles or folders on a given physical computer and/or files or folderscreated by a given user. If desired, however, users can set an Auto Listscope (or other search scope) to search across everything on thecomputer and/or the network containing the computer, such as to locateall “5 star” files stored on either of the user's desktop or laptopcomputers.

With the increasing number of files users are saving on their PCs (e.g.,documents, music, video, and picture files, etc.) and the increasing useof networked computer systems, the ability for users to select smallersearch scopes (e.g., for Auto Lists or other searches) may becomeimportant (e.g., to avoid location and display of excessive irrelevantdata (e.g., data from other users or other locations), to avoid searchdelays, etc.). As a more specific example, a graphics designer may wantto scope an “Auto List” search to limit its search and returned contentto a hard drive portion (e.g., a directory or the like) that containsonly Photos (or, optionally, only a specific user's photos). This userwould not necessarily want to search everything on the PC and/oreverything on the network to which the PC may be connected. Such usersmay not wish to see other user's files that also may meet the searchparameters set for the “Auto List.”

Accordingly, in systems and methods in accordance with at least someexamples of this invention, users may select and define “sub-itemdomains” as part of search scopes. A “sub-item domain” is a set offolders defining a smaller scope for the computer system to searchacross. This sub-item domain may include a set of folders and/orsub-folders where users store their data, items marked with certainproperties, etc.

FIGS. 7A and 7B illustrate examples of sub-item domain scope settingaspects. For example, FIG. 7A illustrates an individual computer ornetwork 700 shared by multiple users (e.g., Users A, B, and C), whereineach node in the illustration indicates a folder or other file“container” set created by and/or for the various users. Duringsearching activities, including activities relating to generation of“Auto Lists,” as described above, a user may set the system to searchonly a portion of these available “folders” or other elements. Forexample, by setting the “sub-item domain scope” for a certain search orAuto List, a user can limit his/her search to only certain folders offiles. FIG. 7A illustrates a “sub-item domain,” represented by triangle702, set to search only the folders including and under the folder “UserB.” Of course, a “sub-item domain” may be set to encompass any portionof the network 700 without departing from this invention. Additionally,if desired, the scope may differ for the various different Auto Listsgenerated by a given computer system without departing from theinvention. By using a sub-item domain scope such as that shown in FIG.7A, the results of the “Auto List” or other searching activities may bemuch more relevant because the searching is more targeted to onlycertain specified source data (e.g., User B's data in this example).Also, performance speed may be increased because the set of items toinspect is smaller. Of course, user interfaces may be provided so thatusers can readily adjust and change the sub-item domain for any searchactivities, including Auto List searches.

The content of this settable “sub-item domain” need not be limited to asingle folder or even a single common branch of the folder hierarchy.Rather, if desired, in accordance with at least some examples of systemsand methods in accordance with this invention, a user may set a searchscope (such as an “Auto List” generation search scope) to consider fileslocated in multiple folders, optionally in multiple branches of thenetwork or computer memory. FIG. 7B illustrates the example individualcomputer or network 700 of FIG. 7A, but in this example, the search“sub-item domain” is set to search through data included only in foldersavailable from two independent users, as represented by sub-item domaintriangles 704 and 706 (photo data from Users B and C in the illustratedexample of FIG. 7B). Again, using this sub-item domain scope, theresults of the “Auto List” or other searching activities may be muchmore relevant because the searching is more targeted to only the desiredusers' data in this example, and performance speed may be increasedbecause the set of items to inspect is smaller.

Additional aspects of the present invention further extend from theaspects described above. In at least some example systems and methods inaccordance with this invention, multiple folders and/or properties maybe selected by users as the scope for searches and/or displays ofinformation stored on the computer. Such systems and methods may utilizenavigation panels that display properties and/or folders in ahierarchical manner, as described above, for example, in conjunctionwith FIGS. 2-6.

In conventional and currently available “folder trees” that displayfolders of items stored on a computer, users cannot select more than onefolder at a time. If a user wants to view the contents of multiplefolders, he or she has to open multiple windows (e.g., one for eachfolder desired) and/or consecutively open and inspect the desiredfolders. Therefore, the user cannot view all information from multiplefolders in a common screen, making it difficult to get an accurateoverview of the available information stored on the computer system ornetwork.

The availability of “lists” and “Auto Lists” further exacerbates thisproblem. As noted above, lists and Auto Lists may comprise sets ofproperty values that help define or categorize files and/or other itemsstored on the computer system or network. Often, users would like tofurther narrow down information presented via a list or Auto Listprocedure (i.e., the relevant files identified as meeting a searchcriteria) based on the requirement that the displayed informationinclude multiple properties associated with it. For example, users maywish to see all stored pictures from a specific trip locale that alsoinclude a specific person (e.g., spouse). Without the ability to usemultiple property selection techniques, users may not be able to easilyfind the sub-set of files that meet these two independent propertycriteria.

Aspects of this invention relate to systems and methods that allow forconducting searches, interpreting search results, and/or displayingsearch results when multiple properties are selected as part of thesearch criteria, e.g., from a hierarchical listing of propertiesprovided in a navigation panel or otherwise made available to a user.Such systems and methods may be used, for example, when navigating,searching, displaying, and/or otherwise interacting with various lists,Auto Lists, and/or folders.

One feature relating to this aspect of the invention relates to themanner in which information or files are determined to satisfy thesearch, which includes multiple properties and/or other searchparameters. More specifically, in some instances users would prefer tosee the combined union of all information that satisfies either featureof a multiple property search query (i.e., display information thatsatisfied either property A “OR” property B), and in other instancesusers would prefer to see the intersection of only the information thatsatisfies both features of a multiple property search query (i.e.,display information that satisfied property A “AND” property B). As somemore specific examples, when users request retrieval of informationidentifying all files that contain “Maui pictures” taken with a memberof the family contained therein, they expect the searching systems andmethods just to retrieve those pictures that contain both a familymember AND were taken in Maui. With such a query, users typically do notwish to see all Maui pictures (including all pictures without familymembers contained therein) and all family pictures (including picturesnot from Maui). On the other hand, when users request retrieval ofinformation identifying files that are rated either three stars or fourstars, they expect the searching systems and methods to retrieve fileswith either of these ratings (because at least most files would not besimultaneously rated three stars and four stars by the user).

Accordingly, at least some aspects of this invention relate toalgorithms that automatically determine whether users likely wish toreceive set “union” or set “intersection” information based on theinformation or multiple search parameters selected, e.g., from anavigation panel of properties and/or folders, e.g., arranged in ahierarchical manner. In general, as will be explained in more detailbelow, systems and methods in accordance with at least some examples ofthis invention will return information (e.g., during a “search,” “listfiles,” or other navigation task) regarding files based on a union ofthe multiple parameters selected (a logical OR operation) when thesearched multiple properties, lists, folders, items, and/or otherparameters belong to the same “property” in the hierarchy. On the otherhand, systems and methods in accordance with at least some examples ofthis invention will return information (e.g., during a “search,” “listfiles,” or other navigation task) regarding files based on anintersection of the multiple parameters selected (a logical ANDoperation) when the searched multiple properties, lists, folders, items,and/or other parameters belong to or lie across different properties.More detailed examples of operation of this algorithm are describedbelow in connection with FIGS. 8 through 18. Of course, if desired, auser may be given an option and/or opportunity (e.g., via an interfacescreen, right mouse button click, etc.) to override the automaticallyselected AND or OR operation for a given search query to customize andtarget the results for that specific query.

1. Multiple Selections within a Single Multi-Value Property

FIG. 8 illustrates an example display screen 800 that includes anavigation panel 802, which may include a hierarchical listing ofproperties, folders, and the like (the various nodes in panel 802 in theillustrated example). Information stored under and/or associated withthe nodes optionally may contain information identifying individualelectronic files or items of information (e.g., email files, musicfiles, digital photo files, electronic documents, audio and/or videofiles, etc.) that have been associated with that node (e.g.,automatically, by user input, by another's input, when the file wasdownloaded from another source, etc.). Information identifying at leastsome of the files corresponding to one or more criterion specified forthe search query or list files activity is displayed, in this exampledisplay screen 800, in the display panel 804. Using the navigation panel802, a user may select one or more of the hierarchical nodesrepresenting an assigned property associated with the file, and thedisplay panel 804 will contain information identifying files or othercollections of information that satisfy the user specified propertycriteria.

As shown in FIG. 8, in this example, the user has indicated that theywish the system to retrieve information identifying files that includepictures showing Person_A and Person_D (as shown by highlighting in thefigure). As a more general description, in this example, a user hasselected multiple values within a single, multi-value property from thehierarchy (i.e., selection of the hierarchical icon representingPerson_A and selection of the icon representing Person_D from a singleproperty (“People”)). The “People” property is called a “multi-valued”property because the files under the “People” property may have multipleindividual property entries (e.g., a given picture may contain more thanone identified person, and thus may have multiple “People” childproperties associated with it). In response to this query, search, or“list files” command, systems and methods according to this example ofthe invention retrieve any pictures that contain either Person_A orPerson_D (to be retrieved, the system automatically or some person musthave, at some time, associated the “Person_A” or “Person_D” propertiesor keywords with the various picture files (e.g., as metadata, asdiscussed above), thereby indicating the person(s) included in thepicture). Notably, in this example search query, systems and methods inaccordance with this example of the invention automatically retrieveunion information, i.e., information identifying files that containeither Person_A OR Person D (represented by the letters “A” and “D,”respectively, in the names included in the icons in FIG. 8), includingany pictures that contain both Person_A and Person_D (i.e., picturesABD1, ABD2, ACD1, AD1, and ABD3 in this example). In essence, systemsand methods in accordance with this example of the invention performed alogical OR operation based on the input parameters specified by the userin the navigation panel 802.

Accordingly, from this example, a first rule of a selection algorithm inaccordance with at least some example systems and methods according tothe invention may be derived. By this rule, information returned fromuser selection of multiple sets within a single, multi-value propertyset automatically will be returned in a “unioned” or logical “OR” querylanguage manner. Of course, if desired, systems and methods inaccordance with at least some examples of the invention may provide auser with the ability to override this rule and/or this automaticselection action (and thereby run an “AND” operation).

Notably, in the illustrated display panel 804, the two selected datasets are shown or are available in their entirety and maintainedseparate from one another (i.e., one sub-panel 806 for the Person_Apictures and one sub-panel 808 for the Person_D pictures in thisexample). Notably, a single list item may appear in each sub-panel 806and 808 (or in others), if appropriate (i.e., the icons representingpictures ABD1, ABD2, ACD1, AD1, and ABD3 appear in each sub-panel 806and 808 in this example). Of course, many other ways of displaying theretrieved information (e.g., in display panel 804) may be used withoutdeparting from the invention, including for example, displaying acompiled listing of files or items without an indication of the sourceproperty and/or without providing repeated representations of the samefile or item. As another example, if desired, the display portion 804could also include a display sub-panel or the like that includes theresults of the logical AND operation (i.e., pictures including bothPerson A and Person D in this example), to make this information readilyavailable to the user, in the event the logical AND operation wasdesired.

2. Multiple Selections within a Single-Value Property

As described above, in the example of FIG. 8, the “People” property is amulti-valued property (meaning that an item of information (e.g., afile) stored under that property may have more than one of theunderlying child properties associated with it). Some properties,however, may be considered “single valued properties,” which means thateach item of information (e.g., a file) stored under that propertycontains only a single instance of an underlying child of this property.Examples of single valued properties may include, but are not limitedto: size, rating, and the like. FIG. 9 illustrates an example displayscreen 900 in which a user has selected multiple properties (e.g., in alist files, search query, or other action) from a navigation panel 902including a hierarchical arrangement of properties (or folders, etc.),wherein the selected properties lie under a single valued property“Rating” (i.e., a user typically can and/or will give only one rating toa file). Notably, in this example, the user has requested retrieval ofall pictures having a 3 or 4 star rating, as evident from thehighlighting in the navigation panel 902.

In response to this query, search, or “list files” command, systems andmethods according to this example of the invention retrieve any picturesrated either as 3 stars OR 4 stars (to be retrieved, the systemautomatically or some person must have, at some time, associated arating property with the various files (e.g., as metadata, as discussedabove)). Notably, in this example search, systems and methods inaccordance with this example of the invention automatically retrieveunion information, i.e., information identifying files rated either 3stars OR 4 stars. In essence, systems and methods in accordance withthis example of the invention performed a logical OR operation based onthe input parameters specified by the user in the navigation panel 902.In fact, in this example, because the “Rating” property is a singlevalued property, it would not make sense to perform a logical “AND”operation, because the “AND” operation would return an empty set in eachinstance (i.e., because each file contains one and only one rating, nofiles will be located during the search that contain both a 3 star AND a4 star rating)

Accordingly, from this example, another rule of a selection algorithm inaccordance with at least some example systems and methods according tothe invention may be derived. By this rule, information returned fromuser selection of multiple sets within a single-valued property setautomatically will be returned in a “unioned” manner or in a logical“OR” query language manner. Of course, if desired, systems and methodsin accordance with at least some examples of this invention may providea user with the ability to override this rule and/or this automaticselection action.

Notably, in the illustrated display panel 904, the two selected datasets are shown or are available in their entirety and maintainedseparate from one another (i.e., one sub-panel 906 for the 3-star ratedpictures and one sub-panel 908 for the 4-star rated pictures in thisexample). Notably, in this instance, no single list item appears in bothsub-panels 906 and 908 (or in others), because each file, by definitionin this example, contains a single rating value. Of course, many otherways of displaying the retrieved information (e.g., in display panel904) may be used without departing from the invention, including forexample, displaying a compiled listing of files or items without anindication of the source property.

3. Additional Logical “OR” Examples

As noted above, the above rules may apply to items in folder structuresand/or in a hierarchical property structures. FIGS. 10 and 11 illustratesome additional examples when user selection is applied to hierarchicalproperties in a navigation panel.

As shown in the display screen 1000 of FIG. 10, a user has selected twoindependent entries in a hierarchical property table present in anavigation panel 1002, namely a Cars>Import>German property and aCars>American property. Because the selected properties still arelocated under a common multi-valued parent property (“Cars” in thisexample), the above rule applies, and the display panel 1004 willdisplay the union of the two selected properties in response to thisquery, search, or list files operation. More specifically, as shown inFIG. 10, the display panel 1004 includes information identifying allstored files corresponding to the logical OR operation, i.e.,information that satisfies either search criterion, namely storeddigital pictures corresponding to German import cars OR stored digitalpictures corresponding to American cars. A logical AND operation makesless sense or is less likely in this specific factual situation becausetypical cars would not be considered both “imports” AND “American” (anAND operation could return a hit however, for example, if multiple carswere included in a given picture and properties were associated with thefile for both cars in the picture).

Notably, in this example, the two selected items (i.e., properties) inthe hierarchical structure were not located in the same hierarchicallevel. Nonetheless, the logical OR operation was conducted in thisinstance because, as noted above, the algorithm's rule requires the ORoperation to be performed when the selected properties are located undera common parent property (this common parent property, however, need notbe an immediate parent of both or either selected node).

Notably, in the illustrated display panel 1004, the two selected datasets are shown or are available in their entirety and maintainedseparate from one another (i.e., one sub-panel 1006 for the German carpictures and one sub-panel 1008 for the American car pictures in thisexample). Again, in this instance, no single list item appears in bothsub-panels 1006 and 1008 (or in others), but, because a single picturemay include more than one automobile, overlapping pictures may bepossible in the sub-panels 1006 and 1008. Of course, many other ways ofdisplaying the retrieved information (e.g., in display panel 1004) maybe used without departing from the invention, including for example,displaying a compiled listing of files or items without an indication ofthe source property, with no duplicated photo listings, etc. Also, ifdesired, the results of a logical AND operation also may be displayed indisplay panel 1004, optionally along with the results of the logical ORoperation.

FIG. 11 illustrates another example display screen 1100 in whichmultiple hierarchical property nodes in a navigation panel 1102 areselected by a user. In this example, a node and one of its correspondinggrandchildren nodes are selected by the user (namely, the Cars node andCars>Import>UK nodes were selected). In this instance, a logical ANDoperation makes little or no sense because if the user had intended tolist files corresponding to only the UK import cars, he/she could havesimply selected the UK node to create this listing (a multiple selectionwas not required). Accordingly, the above selection rule still applies,i.e., because the selected properties are located within a common parentproperty (“Cars” in this example), the system will automaticallyretrieve and the display panel 1104 will automatically display the unionof the two selected properties in response to this query, search, orlist files operation. More specifically, as shown in FIG. 11, thedisplay panel 1104 includes information identifying all stored filescorresponding to the logical OR operation, i.e., information thatsatisfies either search criterion, namely stored digital picturescorresponding to all cars OR stored digital pictures corresponding toimported UK cars.

As with the various display panels described above, display panel 1104makes the two selected data sets available in their entirety andmaintained separate from one another (i.e., one sub-panel 1106 for allthe car pictures and one sub-panel 1108 for the UK imported car picturesin this example). In this example system and method, all of the UK carpictures in sub-panel 1108 also are included within the more genericCars sub-panel 1106 because all UK car pictures must fall within theCars parent node (e.g., as described above with regard to thehierarchical properties, when a child property is assigned to a file,that file also automatically is assigned all parent properties to theassigned child property). Of course, many other ways of displaying theretrieved information (e.g., in display panel 1104) may be used withoutdeparting from the invention, including for example, displaying acompiled listing of files or items without an indication of the sourceproperty, with no overlapping photos displayed, etc.

4. Logical “AND” Examples

The above examples for FIGS. 8-11 relate to multiple user selectionswithin a given hierarchical grouping, such as a folder, a hierarchicalproperty, or the like. Another rule of the example algorithm fordetermining what data to display in response to multiple user selectionsin a hierarchical folder or property structure is illustrated withrespect to FIGS. 12 through 14.

In general, this “rule” of the algorithm requires that when the multipleuser selections are made across different parent property sets, the“intersection” of the search results will be displayed (or a logical ANDoperation will be performed and the results displayed). In the exampleillustrated in FIG. 12, the display screen 1200 shows a navigation panel1202 in which multi-value hierarchical properties are displayed. Theuser has selected two properties that span across two of the highestlevel parent property sets, namely: Locations>Toronto andPeople>Person_D. In situations of this type, users typically expect alogical AND operation to be performed such that the displayed resultsinclude only pictures taken in Toronto that also include Person_D (e.g.,typically with a search query of this type, a user would not wish to seeall Toronto pictures or all pictures including Person_D). Therefore, asshown in display panel 1204 in this example, the resulting displayedresults include only those pictures from the Toronto trip that includePerson_D therein. Because the intersection of both selected sets isdisplayed, there is no reason to separately show the results from eachuser selected set, as was shown above in FIGS. 8-11 (i.e., each item indisplay panel 1204 would be present in the Locations>Toronto listing andin the People>Person_D listing), although these individual selected setsalso may be shown, if desired (e.g., to cover the possibility that theuser wanted to see both individual sets).

Of course, any way of displaying the search results, e.g., in displaypanel 1204, may be used without departing from this invention.Additionally, if desired, users may be provided with the ability tooverride the automatic AND operation produced by systems and methods inaccordance with this example of the invention.

Application of the logical AND operation is not limited to use withmulti-valued hierarchical properties. For example, if one or both of theuser selections in FIG. 12 had constituted a single valued property(such as one of the star “Rating” properties shown in the navigationpanel 1202) and the other selection had been located in a differentparent property set (such as in the “People” or “Locations” propertysets), the “intersection” of the selected star Rating property and theselected People or Locations property would have been displayed (i.e., alogical AND operation still would have been performed and the resultsdisplayed because the selections spanned across different propertysets).

The algorithm's rule for applying a logical AND operation also applieswhen selections are made across different hierarchical properties, evenwhen these selections are located at different depths within thehierarchical structure. FIG. 13 illustrates an example. As shown in thedisplay screen 1300 of FIG. 13, the user has selected the propertiesKeyword>Cars>Import and Date>2004 in the navigation panel 1302. Becausethe top level parent properties differ, a logical AND operation isconducted, and display panel 1304 displays the intersection of these twoproperties (i.e., it displays files having both selected properties,namely pictures of Import cars from the year 2004). This AND operationis conducted despite the fact that one of the selected nodes has adifferent number of parent nodes as compared to the other selected node(and therefore exists at an overall different level in the hierarchy).

This same algorithm rule may apply and similar intersection results maybe obtained irrespective of whether one or both of the user selectedproperties is a single value property or a multi-valued property.

Additionally, the algorithm's rule for applying a logical AND operationalso applies when selections are made across different hierarchicalproperties, even when at least one of these selections does not includea low level item in the hierarchy. FIG. 14 illustrates an example. Asshown in the display screen 1400 of FIG. 14, the user in this examplehas selected the properties Rating>4_Star and People in the navigationpanel 1402 (no particular person under the People node was selected).Because the top level parent properties differ, a logical AND operationis conducted, and display panel 1404 displays the intersection of thesetwo properties (i.e., it displays information relating to files having a“People” property (e.g., any person) included therein that is rated 4stars).

5. Use of Multiple Selections in Hierarchies with Folders, Lists, orOther Structures

As noted above, aspects of the use of multiple user selections inhierarchies also may be applied to hierarchies that include conventionalfolders (e.g., performance of the OR/AND functions may be determinedusing the rules above, even if one or both user selected elementsincludes a folder structure). Conceptually, in accordance with at leastsome example aspects of this invention, a “folder” may be treated as asingle-valued property. More specifically, because an individual filewill reside only in a single conventional folder as described above, afolder may be treated as a single-valued property in accordance withthese aspects of the invention. Optionally, if desired, the multipleuser selections may include a mixture of selections of folder elementsand property elements in the hierarchical structure. Various examplesfollow.

FIG. 15 illustrates a display screen 1500 including a navigation panel1502 in which both hierarchical properties and folder structures arepresent. In the example illustrated in FIG. 15, the user has selectedtwo individual folders, namely, the My Pictures>Trips folder and the MyPictures>Old folder. Because the two selections are located under thesame top level parent element in the hierarchy (namely, the “MyPictures” element, in this example), a logical OR operation is appliedthrough application of the various algorithm rules described above, andthe displayed results, as shown in display panel 1504, show the union ofthe two selected sets. While the content of these selected sets may bedisplayed in display panel 1504 in any desired manner, in thisillustrated example, the displayed files are identified in separate anddistinct sub-panels as generally described above, for example, in FIGS.8-11.

As described above, user files exist in a conventional folder hierarchyat a single location (i.e., a single file or other item cannot exist intwo independent and separate folders at the same time). Therefore, alogical OR operation makes the most sense in the situation illustratedin FIG. 15, because a logical AND operation would return an empty set asthe results.

FIG. 16 illustrates display screen 1600 in an example where the OR/ANDlogical operation selection rules and algorithm are applied in asituation where the user's selections include at least one folder setand the selection spans across independent and different portions of thehierarchy (i.e., portions having different ultimate top level parentnodes). As shown in the hierarchy navigation panel 1602 of FIG. 16, theuser has selected a rating node (4_Star, in this example) and a foldernode (the My Pictures>Old folder node, in this example). Applying thevarious rules and algorithm described above, because the selections havedifferent top level parent nodes in the hierarchical structure, alogical AND operation is applied, and information regarding theintersection of these two hierarchical elements is displayed in displaypanel 1604. More specifically, in this example, all of the stored “old”pictures having a “four star” rating are displayed in display panel1604. Of course, any way of displaying the query, search, or list filesresult may be used without departing from this invention. Also, ifdesired, display panel 1604 could be designed to additionally show theresults from a logical OR operation, and/or a user may be able to informthe system in some manner that the logical OR operation is desired.

The same OR/AND logical operation selection features may be applied tolist elements in a hierarchical structure, in accordance with at leastsome examples of this invention. “Lists” may be conceptually consideredas simply constituting sets of items, such as files or the like. FIG. 17shows an example display screen 1700 in which various list elements areincluded in the hierarchical structure shown in the navigation panel1702. Multiple elements under the “All Lists” node are user selected,namely the “Top Issues” node and the “Project Y” node. In the displaypanel 1704, the generated display provides information regarding listitems that satisfied either of these search criterions, namely, listelements designated as being “Top Issues” OR list elements designated ascorresponding to “Project Y.” Notably some of the list items may beincluded under the groupings for both nodes (e.g., items 2 and 4). Whilethe content of these selected sets may be displayed in display panel1704 in any desired manner, in this illustrated example, the displayedlist elements are identified in separate and distinct sub-panels asgenerally described above, for example, in FIGS. 8-11. Also, if desired,display panel 1704 could be designed to additionally show the resultsfrom a logical AND operation, to cover the possibility that this ANDresult was desired by the user. Also, as noted above, if desired, theuser may be given the ability to override the automatic OR operationselection.

The above described OR/AND logical operation selection determinationalgorithms and rules also may be applied in situations in which a userselects more than two hierarchical elements (e.g., three or morefolders, list elements, properties, etc.). In general, in suchsituations, a logical OR operation (i.e., the union) is performed withrespect to any selections made under the same hierarchical parentelement set, and a logical AND operation (i.e., the intersection) isperformed with respect to selections made across different hierarchicalparent element sets. Optionally, operations within a given hierarchicalparent element set (i.e., the OR operations), if any, may be performedfirst. FIG. 18 illustrates an example of this type of operation.

Specifically, as shown in the display screen 1800 of FIG. 18, a user hasselected three elements from the hierarchical navigation panel 1802,namely a Dates>2004 property, a Keyword>Cars>lmport property, and aKeyword>Cars>American property. In response, systems and methodsaccording to at least some examples of this invention will first performan OR operation with respect to the selected Keyword properties, tolocate all saved files including stored keyword properties meetingeither of these criterion. Then, from those identified files meetingeither of the Keyword criterion, a determination is made as to whichfiles also satisfy the date criterion (by applying a logical ANDoperation). The displayed results, in display panel 1804, then will showthe imported car pictures and the American Car pictures from 2004. Whilethe content of these selected sets may be displayed in display panel1804 in any desired manner, in this illustrated example, the displayedinformation regarding the files is provided in separate and distinctsub-panels directed to the different “OR” selections, as generallydescribed above, for example, in FIGS. 8-11.

The above noted rules and application of these rules in determiningwhether to conduct a logical OR operation or a logical AND operation tomultiple user selections are advantageous because they producepredictable and logical results when users use the hierarchicalproperties, folders, lists, or other structures for storing, searching,and retrieving information from a computer system or network. Of course,if desired and as noted above, users may be provided an interface toallow them to override these automatic retrieval rules at any time,e.g., if the rules produce the undesired results in any individualinstances. As new information is introduced into the computer system ornetwork, the above rules can continue to be applied, including to thenewly added information, regardless of whether the new information maybe incorporated into the existing hierarchy or requires new/additionalhierarchy. Once placed in the hierarchical structure in some manner, theabove OR/AND logical operation selection procedures can be carried outby determining whether the various selections are located within a givenproperty or other hierarchy element level and/or whether they spanacross different top level parent property or other hierarchy elementlevels.

6. Computer-Readable Media

Additional aspects of the present invention also relate tocomputer-readable media including computer-executable instructionsstored thereon for performing the various multiple property or othervalue selection methods and/or for use in various systems that includemultiple property or other value selection methods, including thesystems and methods described above. The computer-readable media mayconstitute computer-executable instructions stored on the variousspecific examples of computer-readable media described above.

C. Grouping and Stacking in the Display Panel

Today in Windows® based computer operating systems (e.g., available fromMicrosoft Corporation of Redmond, Wash.), it is possible to organizesets of files (e.g., from a search query or a list files command) intogroups. For example, grouping by file “type” may be used to place allPowerPoint® presentations (presentation software available fromMicrosoft Corporation) within the search domain into one grouping and/orall digital pictures into another grouping. It can be difficult,however, for users to efficiently and effectively deal with large setsof items because they still have to locate the correct grouping toultimately locate the file that they wish to further consider. Forexample, if a user has a folder with 100,000 files contained in it,grouping those files may help sort through things somewhat, but it stillmay be difficult for users to locate the specific file desired (e.g.,particularly if keyword searches or other search techniques are noteffective to narrow down the grouped files).

In application programs and/or operating systems in accordance with atleast some examples of this invention, users may take advantage of theability to “stack” as a new/additional way for visually organizing filesinto sets. For example, if systems and methods were to stack by “filetype,” users would be able to see all of their files stacked intoindividual sets, e.g., a set for PowerPointe presentation files, a setfor spreadsheets, a set for digital pictures etc. Each of these sets maybe represented, e.g., in a computer-generated display, by a stack iconthat conceptually acts as a virtual container for that set of items.Stacking is a very useful way to help users narrow down on a set ofitems they care about because stacking clearly enumerates and identifiesto the user the various available stack options.

Applied to a more concrete, real world example, stacking can beconceptually thought of as going to a car rental location and askingthem to tell you what color cars are on the lot. They may advise youthat they have blue and red cars available today. Conceptually, this iswhat happens when users stack their files by a property, i.e., they mayobtain stacks for each unique value of that property.

This stacking feature (as well as other display features) may beapplied, for example, to user interfaces like those described above inconjunction with FIGS. 6 and 8-18. In such user interfaces, systems andmethods in accordance with at least some examples of this invention mayshow information including things such as Lists, Auto Lists, Folders,and properties, including, for example, user defined properties. EachAuto List may be designed to provide a way for users to view informationidentifying their files in various ways, for example, by a certainproperty. As a more specific example, a music Auto List may be stackedfor example, by the performing artist, and searching by this performingartist property will allow the user to see stacks identified with allthe artists included in the music collection, e.g., Bjork, Madonna, etc.One issue, however, with simply showing a shortcut to this Auto List isthat if the computer system has music from many different artists storedon it and available in the view, it still may be difficult for the userto locate the desired individual artist and/or the desired individualalbum, CD, or song(s).

One aspect of systems and methods in accordance with examples of thisinvention relates to exposing the stacking structure of the availableAuto Lists as sub-nodes in the navigation panel and/or the display panelassociated with it. As one more specific example, for the “Artists” AutoList situation described above, systems and methods in accordance withat least some examples of this invention may enable users to expand the“Artists” (or other) nodes in the navigation panel and/or the displaypanel, to thereby enable them to control and/or see all the uniqueArtists (or other nodes) saved on the computer, network, or system.

Other aspects of this invention relate to the manner in whichinformation relating to groups and stacks of information is processedand/or manipulated, e.g., in a navigation panel and/or a display portionof a user interface presenting such information. More specifically,aspects of the present invention will treat “grouped” and “stacked”information in the same way and allow Auto Lists that are grouped torepresent hierarchy in the navigation panel. In other words, if a userhas a view of music files grouped by “Artist” in the display panel,systems and methods in accordance with examples of this invention may beused to generate sub-nodes for the various artists in the navigationpanel. In at least some instances, the sub-nodes may in fact constituteanother stack, and therefore, when users click on one of thesesub-nodes, the set of items in the view would filter down to only thoseresults. This gives users a quick index of the items present in the viewand allows them to actually narrow down to a set of files instead ofjust visually or mentally organizing them.

Still another example aspect in accordance with this invention relatesto the ability of users of systems and methods according to at leastsome examples of this invention to stack in a parent folder and flattenits folder hierarchy. For example, when a user stacks by file type in ahard drive directory or other collection of data (e.g., a “D:\Data”grouping), systems and methods in accordance with at least some examplesof this invention will search through all sub-folders and take thoseitems and place them into stacks. This gives users the ability tonavigate to any folder and view its contents organized by a desiredproperty value instead of by its folder hierarchy.

In general, aspects of this invention are useful because, in systems andmethods according to at least some examples of this invention, groupingand stacking can be used to create a dynamic organizational structure inthe navigation panel, and it provides the ability to select a group inthe navigation panel or the display panel and narrow down the items inthe view to display only that set. Still additional general aspects ofthe invention relate to treating grouping and stacking as sub-nodes toan Auto List and the ability to select a group in the navigation paneland/or the display panel and, through this selection, thereby furthernarrowing down the displayed view. More specific examples of theseaspects of the invention will be described below.

As noted above, “grouping” and “stacking” are two different ways tovisualize a set of items. FIG. 19 illustrates a display screen 1900 thatincludes a navigation panel 1902 and a display panel 1904 (whichillustrates information relating to various stored files or items basedon input received in the navigation panel 1902). Notably, in FIG. 19,the navigation panel 1902 indicates that the property or keyword“Carnivora” has been selected, and the corresponding display panel 1904shows stacks for the individual child nodes in the hierarchy at thelevel immediately under the Carnivora parent node. More specifically, asshown in the example of FIG. 19, the display panel 1904 includes a stackof pictures for dogs (Candiae) and a stack of pictures for cats(Felidae). Notably, in the navigation panel 1902, the child nodes underthe Candiae and Felidae nodes are fully displayed (down to their lowestlevel), despite the fact that these sets are shown as stacked in thedisplay panel 1904.

In at least some instances, stacks may not constitute the mostpreferable way of displaying information in the display panel 1904. Forexample, as shown in FIG. 19, stacking may be undesirable, at least insome instances, because the user is not able to easily see anyinformation regarding the content within the stack (e.g., the usercannot see thumbnail icons or much other displayed information regardingthe content of the stack, as shown in FIG. 19). Without displayinginformation in the display panel 1904 in an “unstacked” manner, usersmay have to “drill down” to the deepest levels of the hierarchy, atleast in some instances, to finally see the pictures (or other morespecific information relating to specific files). This requirement canbe inconvenient, particularly if the hierarchy has many levels, if manyfiles are included in the hierarchy, and/or if the user is not certainwhere the desired files are located within the hierarchy.

FIG. 20 illustrates another example display screen 2000 that utilizesgrouping as opposed to stacking in the display panel 2004. Notably, thesame node remains highlighted in the navigation panel 2002 (i.e., the“Carnivora” node, in this specific example), but the display panel 2004shows the search results grouped under the respective child nodes underthe selected parent node as separate sub-panels 2006 and 2008. Moreover,within the sub-panels 2006 and 2008, the underlying file information inthis example display screen 2000 is shown in an unstacked manner so thatthe user can quickly and easily see information relating to theunderlying content within the hierarchy.

Notably, in the example shown in FIG. 20, information relating to all ofthe items contained under the specific node (e.g., the Candiae node) isprovided in the respective sub-panel (e.g., in sub-panel 2006),irrespective of the level in the hierarchy at which that information islocated (e.g., irrespective of whether the specific picture is storedwith the “Candiae” property, the “Canis” property, the “Lupus” property,or the “Latrans” property associated with it). This feature allowsquicker and easier user access to and recognition of the desiredinformation. Notably, this same display panel 2004 may appear as aresult of other search or list files commands, e.g., if the userhighlighted both the Candiae and Felidae nodes in the navigation panel2002.

Users also can quickly navigate in the hierarchical structure of thenavigation panel 2002 to see different groupings of information. Anexample of potential changes may be seen by a comparison of FIG. 20 withFIG. 21. Notably, in FIG. 20, as described above, the Carnivora propertywas selected by the user in the navigation panel 2002, which provided adisplay of information stored with that property, grouped based on thechild nodes of the selected property (i.e., grouped based on the Candiaeand Felidae child nodes in this example). In the display screen 2100 ofFIG. 21, the user has changed the highlighted selection in thenavigation panel 2102 to the more specific Panthera property (agrandchild node under the Carnivora property). As shown in FIG. 21, thischange causes the display panel 2104 to provide groupings for thechildren under the Panthera property node, namely, groups of pictureslabeled with the Leo and Tigris properties (see sub-panels 2106 and2108, respectively). As evident from FIGS. 20 and 21, the navigationpanels 2002 and 2102 and the display panels 2004 and 2104, along withthe hierarchical properties used in conjunction with these panels, allowusers to store, search, and navigate their stored data in a meaningfulway and get useful thumbnail or other “preview” information of theavailable data throughout the hierarchy. Notably, the content and userinput in the navigation panels drive the content provided in the displaypanels, although user input also may be allowed through the displaypanels, if desired.

A comparison of the display screens 2100 and 2200 of FIGS. 21 and 22,respectively, illustrate additional features that may be present inaccordance with at least some examples of this invention. When changingbetween various different auto lists in the navigation panel 2202 (e.g.,from Keyword>Mammalia>Carnivora>Felidae>Panthera in FIG. 21 to DateTaken in FIG. 22), the hierarchical structure in the navigation panel2202 does not collapse, but rather, it remains as the user left it(e.g., in the illustrated example, the full hierarchy for the Mammaliaproperty and its children remains exposed). In general, in accordancewith at least some examples of the invention, the navigation panel 2202does not reflect or change to reflect what is shown in the display panel2204 (e.g., in sub-panels 2206 and 2208), but rather, the navigationpanel 2202 drives what is being presented in the display panel 2204.

This “non-collapsing” feature of the navigation panel 2202 may be usefulfor various reasons. For example, in general, users expect thishierarchy to remain exposed in this manner, e.g., from theirinteractions with conventional electronic file and/or folder systems. Asanother example, keeping the hierarchy open, expanded, and available inthis manner (e.g., until closed by the user) can be more convenient,e.g., if the user decides to return to the hierarchy, for example, foradditional searching, navigation, or previewing purposes, for propertyassignment to file purposes, and the like. Moreover, by leaving thenavigation panel 2202 in an unchanged state as the user navigates andpotentially manually changes it, the past locations visited by the userwill remain readily available, so that they can quickly return to wherethey have been, if desired.

If desired, in accordance with at least some examples of this invention,combinations of grouping and stacking may be used in the display panel.An example of this combined use of grouping and stacking may be seen,for example, in the display panel 2304 of the user interface displayscreen 2300 shown in FIG. 23. More specifically, FIG. 23 illustrates adisplay screen 2300 having a navigation panel 2302 including informationrelating to a collection of stored digital music, wherein at least someof the information relating to the stored music includes hierarchicalproperties. In this example display 2300, the user has highlighted anauto list entitled “SuperMusicView” in which the contained music datahas been stored with properties including various different genre ofmusic (e.g., one child node for “Classical” music, one for “Jazz,” onefor “Pop,” one for “Rap,” etc.). Of course, any number of genres may beincluded in the hierarchical structure without departing from theinvention.

By selecting the parent “SuperMusicView” node, the systems and methodsin accordance with this example of the invention display information inthe display panel 2304 relating to stored music on the system grouped bythe various genres (e.g., sub-panels 2306, 2308, and 2310 for the genres“Classical,” “Jazz,” and “Pop,” respectively). Within each individualgenre grouping, in this example, the information is stacked, e.g., bythe decades in which the albums or musical selections were released. Ifdesired, a user can further “drill down” into the hierarchicalstructure, e.g., in the display panel 2304 or the navigation panel 2302,to see more detailed information relating to the information storedwithin the stacks (e.g., individual CD or album titles, in thisillustrated example, information stacked by performing groups or artistswith the stack including individual albums, etc.). Further drilling intothe individual CD or album titles may be used, if desired in at leastsome examples of systems and methods of the invention, to displayinformation regarding the titles of the individual songs or tracksincluded on the album or CD. Of course, any number of stacks, groupings,and/or any desired types of information may be included in thehierarchical property structures without departing from this invention.

Notably, in the example navigation panel 2302 and display panel 2304shown in FIG. 23, at least some portion of the hierarchy of the AutoList is shown in the navigation panel 2302 regardless of whethergrouping or stacking appears in the display panel 2304. In fact, in thisexample structure, the display panel 2304 includes both groupedinformation and stacked information. In general, grouped information ispresent as a “transparent container,” meaning that the content in thegrouping is readily available and visible to the user in the view.Information contained in “stacks,” on the other hand, may be consideredas being in an “opaque container,” meaning that at least some of theindividual content may be hidden from the user due to the stackingdisplay (but the hidden content may be displayed or made available, ifdesired, by further highlighting or “drilling down” into the individualstacks via the navigation panel 2302 and/or the display panel 2304).

As with any of the windows, display panels, sub-panels, and the likecontained in systems and methods in accordance with examples of thisinvention, when the available information more than fills the availabledisplay area, user access to undisplayed information may be gained inany desired manner, for example, through the use of scroll bars as shownin display panel 2304, through “next page”/“previous page” buttons oricons, and/or in any other desired manner.

The hierarchical properties and other elements, navigation panels, anddisplays of groups and/or stacks of information in accordance withexamples of this invention may be used in combination with conventionalfolder structures without departing from this invention. In general,stacking folders (e.g., in a display panel) is not useful to usersbecause individual folders within a hierarchical structure may havevastly different and independent subjects and because users thatorganize information in folders often do not store many files on anygiven level of their folder hierarchy. Therefore, in accordance with atleast some examples of this invention, stacking in a folder will flattenthe folder hierarchy and re-organize the items contained within thefolder into sets based on that property. FIG. 24 illustrates a displayscreen 2400 that includes a navigation panel 2402 with a folderhierarchical structure contained therein. When the “Vacation” folder isselected by the user in the navigation panel 2402, the display panel2404 displays the underlying folder structure (i.e., the “Lunar Eclipse”and “Aurora” folders under the “Vacation” folder in this example), aswell as the individual files contained within those folders (thereby“flattening out” the folder structure to make the underlying informationreadily visible and available to users). This may be accomplished, forexample, by creating an “Auto List” element or node scoped to look atthe selected folder and all of its sub-folders.

Of course, other ways of presenting information from the folders in thedisplay panel 2400 are possible without departing from this invention.For example, if desired, rather than flattening the hierarchicalstructure shown in FIG. 24, the folder structure may be maintained inthe display panel 2404, particularly in the situation where thehighlighted folder itself includes several levels of hierarchy. Forexample, if desired, when a folder is selected in the navigation panel2402, the information may be displayed in the display panel 2404 byremoving the individual items from the sub-folders and showing theseitems in stacks named after the sub-folders. Of course, other displaytechniques are possible without departing from this invention.

Various manipulations also may occur to data once highlighted orselected in a navigation panel and/or information relating thereto isdisplayed in a display panel. FIG. 25 illustrates an example displayscreen 2500 that may be used and/or appear in accordance with at leastsome examples of this invention. In this example, the user interfacedisplay screen 2500 includes a navigation panel 2502 in which ahierarchical folder structure appears, and a display panel 2504. Becauseof a deeper hierarchy in the folder structure in this example, when afolder is highlighted (e.g., the “Vacations” folder in this example) inthe navigation panel 2502, the information in the display panel 2504 isremoved from the underlying sub-folder structure (i.e., the foldersunder the “Vacations” folder) and placed in individual stacks. If theuser then were to re-organize the information (e.g., by clicking on the“Location” icon or other property icon in the navigation panel 2502,selecting a property from a right click or drop down menu, etc.), thedata could reorganize and stack by locations, as shown in FIG. 25.Because this revised stacking of the data in FIG. 25 (stacked by“Vacations” and “Location”) does not correspond to the contents of the“Vacations” folder in the manner provided in that folder, nohighlighting is shown in the navigation panel 2502 in FIG. 25. Ineffect, this action is akin to a flattening out of all informationcontained in the selected folder (i.e., the “Vacations” folder in thisexample) and then a reorganization of this information into stacks basedon the children properties contained under a selected property.

Of course, many options for grouping and/or stacking in response to usercommands, e.g., in a navigation panel of the type described above, andother system actions in response to user commands may be provided insystems and methods without departing from this invention. The followingincludes at least some additional examples of options that may beincluded in at least some examples of this invention.

As one example, when grouping or stacking by a property that ismulti-valued, systems and methods in accordance with at least someexamples of this invention may provide one group or stack for each toplevel value under the property, and further children property values maynot be exposed in the display panel (although, if desired, theunderlying information in those lower children property values may bedisplayed and/or made available for display). In such systems, ifdesired, the user can expose the children property values by navigatinginto the various hierarchical level groups, e.g., using the hierarchicalnavigation panel, drilling down into stacks provided in the displaypanel, etc.

If desired, in accordance with at least some examples of this invention,no way need be provided to view all keywords (grouped or stacked) as aflat list, and the information highlighted in the navigation panel willcontrol what is displayed in the display panel. If desired, systems andmethods according to at least some examples of this invention may allowusers to “unstack” at any level, e.g., by providing a menu item (e.g., abutton, a right click menu, a tool bar menu, etc.) that allows the userto “expand all stacks,” “expand this stack,” and/or the like.

Other actions also may occur while information is grouped and/orstacked, e.g., operations relating to the hierarchical propertiescontained in the groups and/or stacks. One example relates to draggingand/or dropping operations. In at least some examples of this invention,when dragging an item from one group to another group, the item may bechanged to have the property value(s) of the newly applied group and/orstack applied to it (i.e., changed to also include the property value(s)of the “destination” groups and/or stacks from the drag and/or dropoperation, and optionally, at least, to remove the property value(s) ofthe original source groups and/or stacks, if necessary and desired).Another example operation relates to “paste” operations. When an item isplaced in a new group and/or stack by a paste operation, the destinationproperty and its parent property value(s) may be applied to the newlyplaced item.

Also, many different types of displays or display contents may beprovided in response to navigating into a group and/or a stack. Asdescribed above, however, in accordance with at least some examples ofthis invention, all items with the group title property value may beshown in an initial display, as well as all items tagged with childrenproperty values of this group/parent property value (if any). Ifdesired, an indicator of some type may be provided in the navigationpanel and/or the display panel to indicate that the item in thehierarchy can be further expanded to display children property values(e.g., a “+” sign is used with the icons or widgets in several of theillustrated examples shown in the figures of this specification). Thissame convention may be used in filtering menus without departing fromthis invention. FIG. 26 illustrates an example display screen 2600 inwhich an example menu 2602 has been pulled up (e.g., via a right clickaction or in any other appropriate manner) that will allow further userfiltering of information contained in the display panel 2604 of thedisplay screen 2600. More specifically, in this example, by clicking onthe desired menu items to be used for the filtering, changes in theinformation present on the display panel 2604 may be made. In thisexample, a caret structure “>” at the far right side of each menu itemis used to indicate that further, lower hierarchical levels areavailable for filtering, if desired.

Additional aspects of the present invention also relate tocomputer-readable media including computer-executable instructionsstored thereon for performing the various grouping and/or stackingmethods and/or for use in various systems that display information, suchas properties, folders, lists, and the like in grouped and/or stackedmanners, including the systems and methods described above. Thecomputer-readable media may constitute computer-executable instructionsstored on the various specific examples of computer-readable mediadescribed above.

V. Conclusion

While the invention has been described above in terms of specificexamples (e.g., with many examples relating to navigation, storage, andretrieval of information relating to pictures, music, electronicdocuments, and the like), those skilled in the art will recognize, ofcourse, that aspects of this invention may be used in conjunction withany types of data without limitation. Additionally, while variousexamples of the present invention have been described in detail above,and it will be understood by those of ordinary skill that the presentinvention includes within its scope all combinations and subcombinationsof these examples. Those skilled in the art also will recognize that theabove examples simply exemplify various aspects of the invention.Various changes and modifications may be made without departing from thespirit and scope of the invention, as defined in the appended claims.

1. A computer display providing a user interface for searchingelectronic files stored on or available through a computer system ornetwork, the user interface comprising: a navigation panel displaying ahierarchical structure of search elements, wherein individual searchelements in the hierarchical structure may be expanded, optionally inresponse to user input, to display child search elements in thehierarchical structure, and wherein the navigation panel is capable ofreceiving user input directed to multiple search elements located withindifferent parent branches of the hierarchical structure; and a displaypanel displaying information relating, at least in part, to searchresults obtained from searching the electronic files, wherein the searchresults are determined, at least in part, based on the user inputselecting the multiple search elements for a single search receivedthrough the navigation panel.
 2. A computer display providing a userinterface according to claim 1, wherein the individual search elementsin the hierarchical structure of the navigation panel remain expanded todisplay the child elements in the hierarchical structure irrespective ofthe manner in which the search results are displayed in the displaypanel.
 3. A computer display providing a user interface according toclaim 2, wherein the search results in the display panel are displayed,at least in part, in a stacked manner.
 4. A computer display providing auser interface according to claim 2, wherein the search results in thedisplay panel are displayed, at least in part, in a grouped manner.
 5. Acomputer display providing a user interface according to claim 1,wherein at least some of the individual search elements in thehierarchical structure are selected from the group consisting of:property values, list elements, and folders.
 6. A computer displayproviding a user interface according to claim 1, wherein thehierarchical structure of search elements includes, at least in part,plural property values arranged in a hierarchical manner.
 7. A computerdisplay providing a user interface according to claim 6, wherein atleast some of the plural property values arranged in the hierarchicalmanner are arranged in a user defined hierarchy.
 8. A computer displayproviding a user interface according to claim 1, wherein user inputselecting child search elements in the hierarchical structure of thenavigation panel produces corresponding changes in the search resultsdisplayed in the display panel.
 9. A computer display providing a userinterface according to claim 1, wherein user input changing selectedsearch elements in the hierarchical structure of the navigation panelproduces corresponding changes in the search results display in thedisplay panel.
 10. A method for navigating electronic data stored on oravailable through a computer system or network, comprising: providing anavigation panel displaying a hierarchical structure of navigationelements, wherein individual navigation elements in the hierarchicalstructure may be expanded, optionally in response to user input, todisplay child navigation elements in the hierarchical structure;receiving user input, through the navigation panel, selecting multiplenavigation elements located within different parent branches of thehierarchical structure for a single search; and displaying informationrelating, at least in part, to search results obtained from searchingthe electronic data, wherein the search results are determined, at leastin part, based on the user input received through the navigation panel,wherein the information is displayed on a display device simultaneouswith display of the navigation panel.
 11. A method according to claim10, further comprising: receiving new user input, through the navigationpanel, selecting one or more new navigation elements from thehierarchical structure; and changing the information displayed, at leastin part, based on the new navigation element or elements selected,wherein the changed information is displayed on the display devicesimultaneous with the navigation panel.
 12. A method according to claim11, wherein the new user input selects a child navigation element in thehierarchical structure from the navigation element initially selected tothereby filter down the information displayed.
 13. A method according toclaim 10, wherein the search results are displayed, at least in part, ina stacked manner.
 14. A method according to claim 10, wherein the searchresults are displayed, at least in part, in a grouped manner.
 15. Amethod according to claim 10, wherein at least some of the individualnavigation elements in the hierarchical structure are selected from thegroup consisting of: property values, list elements, and folders.
 16. Amethod according to claim 10, wherein the hierarchical structure ofnavigation elements includes, at least in part, plural property valuesarranged in a hierarchical manner.
 17. A method according to claim 16,wherein at least some of the plural property values arranged in thehierarchical manner are arranged in a user defined hierarchy.
 18. Amethod according to claim 10, wherein the user input through thenavigation panel selects a folder navigation element, the displayingstep includes displaying any sub-folders in the selected foldernavigation element as a stack.
 19. A method of displaying informationregarding electronic data stored on or available through a computersystem or network, comprising: providing a navigation panel displaying ahierarchical structure of navigation elements, wherein at least some ofthe individual navigation elements in the hierarchical structure includefolder elements; receiving user input, through the navigation panel,selecting multiple navigation elements located within different parentbranches of the hierarchical structure for a single search wherein themultiple navigation elements include at least one folder element; anddisplaying information relating, at least in part, to search resultsobtained from searching the electronic data, wherein the search resultsare determined, at least in part, based on the user input receivedthrough the navigation panel, wherein the information is displayedsimultaneous with display of the navigation panel, and wherein theinformation is displayed such that any sub-folders provided under theselected folder element are displayed in a stacked manner in thedisplayed information.
 20. A method according to claim 19, furthercomprising: receiving new user input, through the navigation panel,selecting one or more new navigation elements from the hierarchicalstructure; and changing the information displayed, at least in part,based on the new navigation element or elements selected.